Linux Mint环境配置Code::Blocks编译X-Plane 11 SDK插件报错求助
问题原因与解决方法
直接报错根源
你编译命令中的-DLIN = 1存在多余空格,g++会将空格分隔的=、1识别为待编译的文件路径,因此抛出「找不到文件或目录」的错误。
分步修复方案
- 修正宏定义配置:打开Code::Blocks项目构建选项的宏定义页,将
LIN = 1的空格删除,修改为LIN=1,同步检查其余宏定义(XPLMxxx=1、IBM=0、APL=0),确保所有宏定义的=两侧没有多余空格。 - 修正链接器搜索路径:当前你配置的链接器搜索路径指向了头文件存放的
CHeaders目录,属于配置错误,请将链接器搜索路径修改为X-Plane SDK中Linux平台库文件的存放路径SDK/Libraries/Linux,头文件搜索路径保留原有配置即可。 - 确认链接器参数位置:你提到的链接器命令行参数直接填写到CB的「其他链接器选项」栏即可,位置是正确的。
Makefile配合Code::Blocks使用方法
- 如果你不想手动配置CB项目参数,可以直接导入Makefile项目:打开CB→文件→导入→现有Makefile项目,选择示例项目根目录并指定对应Makefile文件,后续CB会直接调用Makefile执行编译,无需单独配置编译、链接规则。
- 如果你要继续使用原生CB项目配置,可以直接参考Makefile中Linux平台对应的宏定义、编译参数、链接参数,抄写至CB对应配置项即可,Makefile中的参数默认没有多余空格,不会出现本次的空格错误。
# 修复后的编译命令示例(无多余空格、路径正确) g++ -Wall -O2 -DXPLM200=1 -DXPLM210=1 -DXPLM300=1 -DXPLM301=1 -DXPLM302=1 -DXPLM303=1 -DLIN=1 -DIBM=0 -DAPL=0 -I/home/shj/Dokumente/HelloWorld/SDK/CHeaders/Widgets -I/home/shj/Dokumente/HelloWorld/SDK/CHeaders/Wrappers -I/home/shj/Dokumente/HelloWorld/SDK/CHeaders/XPLM -c /home/shj/Dokumente/HelloWorld/Hello-World-SDK-3.cpp -o obj/Release/HelloWorld/Hello-World-SDK-3.o g++ -shared -L/home/shj/Dokumente/HelloWorld/SDK/Libraries/Linux obj/Release/HelloWorld/Hello-World-SDK-3.o -o bin/Release/liblin.so -s -shared -rdynamic -nodefaultlibs -undefined_warning -lGL -lGLU
内容的提问来源于stack exchange,提问作者SchneiH2
相关产品推荐
相关产品推荐

