Xcode编写代码编译报错:文件格式不兼容如何解决?
解决g++编译时忽略文本文件的报错问题
哦,这个问题我太熟了!你刚才的编译命令犯了个小错误——你把buglog.txt当成了编译/链接阶段的输入文件传给g++,但它只是个普通的文本文件,根本不是编译器或链接器能处理的源代码、目标文件或者库文件,所以链接器才会抛出那个“忽略文件,格式不支持”的警告。
正确的操作步骤:
第一步:修正编译命令
编译时只需要指定你的C++源文件(比如main.cpp)和必要的编译选项,buglog.txt是程序运行时要读取的文件,完全不需要出现在编译命令里。正确的编译命令应该是:g++ -std=c++11 main.cpp -o bug_reader这里的
-o bug_reader是指定生成的可执行文件名字,你可以换成任何你喜欢的名称,比如file_reader也行。第二步:运行程序时传入文件参数
等编译成功生成可执行文件后,再在运行程序的时候把buglog.txt作为命令行参数传进去,比如:./bug_reader buglog.txt这样你的程序就能在运行时读取到这个文件了,完全符合你代码的设计逻辑。
额外提醒
如果你的代码里有特殊的预处理逻辑需要用到buglog.txt(这种情况非常少见),那你得检查代码里的预处理指令,但从报错信息来看,99%的概率就是你误把运行时参数放进了编译命令里,按上面的步骤改就没问题了。
内容的提问来源于stack exchange,提问作者Cowman886
相关产品推荐
相关产品推荐

