尝试将Sublime上的构建系统引导到我的SDL目录但不会编译
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}", "-L/usr/include/SDL", "-lSDLmain", "-lSDL", "-lSDL_ttf", "-lSDL_image"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
}
]
}
继续让我对SDL的所有调用返回未定义的引用。似乎无法在命令上正确调用目录。
答案 0 :(得分:0)
您似乎正在使用链接器的错误路径。在/usr/include/
中只有头文件。
所以我想你应该按照以下方式修改它:
-L<Where libraries are placed>
E.g。在Ubuntu:
-L/usr/lib/x86_64-linux-gnu // 64 bit libraries
-L/usr/lib/i386-linux-gnu // 32 bit libraries
为了让编译器新的头文件目录,你应该使用-I
flag:
-I/usr/include