我想将多个文件一起编译在同一个文件夹中 (main.c function.c function.h) 其中function.h包含在main.c中,如#include“function.h” -in codeblocks它工作正常 -in sublime text 3存在一个问题,即它单独编译文件并弹出错误。 任何人都可以帮忙!
答案 0 :(得分:1)
未定义的引用是链接器错误,而不是编译器错误。您可能已经编译了所有必需的模块,但是您需要执行链接器以链接这些模块和任何库代码以及运行时启动。看起来你正在编译和链接main.o。
Code :: Blocks IDE将完成链接,因为它是项目的一部分,因为它是 IDE - 它集成了编辑器,编译器,链接器和调试器。 Sublime Text只是 一个文本编辑器,您必须准确地告诉它构建代码需要什么命令。对于多模块构建,您可能需要考虑使用makefile或类似文件。
答案 1 :(得分:0)
我已经在使用构建系统来编译c代码,但它似乎适用于单个文件而不是同时使用多个文件>>你知道一个用于在函数和头文件中同时编译多个文件的构建系统吗?
{
"cmd": ["gcc", "-Wall", "-ansi", "-std=c11" , "-pedantic-errors", "$file_name", "-o", "${file_base_name}.exe", "&&", "start", "cmd", "/k" , "$file_base_name"],
"selector": "source.c",
"working_dir": "${file_path}",
"shell": true
}