Eclipse CDT、MingGW 遇到的一些错误汇总
1.写代码时报错 “Member declaration not found”
如图:
在StackOverflow上找到的答案:
出问题的地方是 CDT的新功能 代码检查
Open Windows -> Preferences -> C/C++ -> Code Analysis and change the setting to suit your needs.
我们去上面的地方把出现error改成info或者warning即可
2.launch failed binary not found
原因是运行之前还没有build,所以没有可执行的二进制文件,原先我用的ide都是自动build的,所以在eclipse中感到不习惯。要想启用auto build需要去Preference
里的workspace
选中下图两项,并应用
3.Linker找不到.a文件
D:/mingw-w64/mingw-w64/x86_64-4.9.2-posix-seh-rt_v3-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\boost\lib/libboost_program_options-mgw34-mt-d-1_59.a when searching for -lboost_program_options-mgw34-mt-d-1_59
D:/mingw-w64/mingw-w64/x86_64-4.9.2-posix-seh-rt_v3-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\boost\lib\libboost_program_options-mgw34-mt-d-1_59.a when searching for -lboost_program_options-mgw34-mt-d-1_59
D:/mingw-w64/mingw-w64/x86_64-4.9.2-posix-seh-rt_v3-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\boost\lib/libboost_program_options-mgw34-mt-d-1_59.a when searching for -lboost_program_options-mgw34-mt-d-1_59
D:/mingw-w64/mingw-w64/x86_64-4.9.2-posix-seh-rt_v3-rev1/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lboost_program_options-mgw34-mt-d-1_59
collect2.exe: error: ld returned 1 exit status
问题出自64位编译器链接32位库
32位编译器编译出来的是 libboost_program_options-mgw34-mt-d-1_59.a,而64位编译器编译出来的是libboost_program_options-mgw49-mt-d-1_59.a