代码块:需要在另一个项目中编译src
Codeblocks: needing compiled src in another project
如何将*.h文件和它自己编译的*.o文件添加到我的项目中,这样我就可以使用它的函数等;链接器,但它仍然无法识别函数。
我认为您已经从另一个项目中准备好了.h文件和.o文件,并希望将它们添加到当前项目中,但希望对当前项目的外部用户隐藏.o定义。
将你的.o文件添加到当前项目中,并确保它实际存在于链接器路径中。然后将.h文件添加到此项目中,确保它与源文件一起存在(不在include文件夹中),并确保它存在于编译器路径中。
右键单击.o文件,然后单击"属性"。然后导航到"生成"选项卡,并选中"链接文件"。
右键单击当前项目,然后单击"生成"选项。然后,在常规生成配置中,将-lNAMEOFOBJECTFILE.o添加到链接器选项中。
现在。。。这不是C++中的典型模式,我建议您考虑创建一个具有您希望使用的"隐藏"代码的共享库,并将最终二进制文件链接到.dll/.so。此外,如果.o文件使用任何外部依赖项,则这对您不起作用,因此我建议的方法是构建一个共享库文件,然后链接到该文件。当您发布代码时,您总是可以省略include.h文件,这些文件中有您希望在最终API中隐藏的符号。
祝你好运!
相关文章:
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 示例C++项目编译中的警告
- 使用 raylib 静态库进行项目编译
- 如何使用我构建的库,而不会从源代码出错,但不为我自己的项目编译?
- C++项目编译强制使用 /clr 选项,尽管在没有公共语言运行时支持的情况下执行它
- 我可以在将项目编译为静态库(未定义的引用)时在代码中使用 QImage 吗?
- 旧项目编译的未定义引用
- Codelite不使用全局编译设置或项目编译设置
- x264项目编译
- 使用 Boost 单元测试进行 G++ 项目编译
- 项目编译时无法使用 gvim
- 强制将特定文件编译为Objective-C/文件类型,但将整个项目编译为Objective C++
- Eclipse显示错误,但项目编译并执行
- 如何最好地将C++/Cython项目编译成可执行文件
- CMake项目编译精细的SHARED库,但不使用STATIC库
- 如何在实践中解决项目编译中链接库的顺序问题
- Cef项目编译链接error2001
- 我的项目编译在vs2008没有一个单一的问题,但不是在2010年
- visual studio 2010 - c++项目编译和链接