代码块:需要在另一个项目中编译src

时间:2016-01-12 19:58:34

标签: c++ codeblocks

如何将* .h文件与其自己编译的* .o文件一起添加到我的项目中,以便我可以使用它的功能等。我使用代码块并尝试设置编译器和路径链接器,但它仍然无法识别功能。

1 个答案:

答案 0 :(得分:1)

我认为你有一个.h文件和.o文件都准备从另一个项目,并希望将它们添加到你当前的项目,但希望保持.o定义隐藏在当前项目的外部用户

将.o文件添加到当前项目中,并确保它实际存在于链接器路径中。然后将.h文件添加到此项目中,并确保它与源(不在​​include文件夹中)一起存在,并确保它存在于编译器路径中。

右键单击.o文件,然后单击“属性”。然后导航到Build选项卡,并选中'Link file'。

右键单击当前项目,然后单击“构建选项”。然后在常规构建配置中,将-lNAMEOFOBJECTFILE.o添加到链接器选项。

现在......这不是C ++中的典型模式,我建议您研究创建一个包含您希望使用的“隐藏”代码的共享库,并将最终二进制文件与.dll / .so相关联。此外,如果.o文件使用任何外部依赖项,那么这对您不起作用,因此我建议的建议路由是构建共享库文件,然后链接到该文件。当您发布代码时,您始终可以省略包含.h文件,这些文件包含您希望隐藏在最终API中的符号。

祝你好运!