代码块:需要在另一个项目中编译 src
Codeblocks: needing compiled src in another project
如何将 *.h 文件及其自己编译的 *.o 文件添加到我的项目中,以便我可以使用它的函数等。我正在使用代码块并尝试为编译器和链接器设置路径,但它仍然无法识别功能。
我认为您已经从另一个项目准备了一个 .h 文件和 .o 文件,并希望将它们添加到您当前的项目中,但希望对您的项目的外部用户隐藏 .o 定义当前项目。
将您的 .o 文件添加到当前项目,并确保它实际存在于您的 linker 路径中。然后将 .h 文件添加到该项目,并确保它与您的源代码一起存在(不在 include 文件夹中),并确保它存在于您的编译器路径中。
Right-click .o 文件并单击“属性”。然后导航到“构建”选项卡,并勾选 'Link file'。
Right-click 您当前的项目,然后单击构建选项。然后在一般构建配置中,将 -lNAMEOFOBJECTFILE.o 添加到您的 linker 选项中。
现在...这不是 C++ 中的典型模式,我建议您考虑创建一个共享库,其中包含您希望使用的 'hidden' 代码,以及 link 您的最终二进制文件针对 .dll/.so。此外,如果 .o 文件使用任何外部依赖项,那么这对您不起作用,因此我推荐的建议路线是构建一个共享库文件,然后 linking 反对它。发布代码时,您始终可以忽略包含 .h 文件,这些文件包含您希望在最终 API.
中隐藏的符号。
祝你好运!
如何将 *.h 文件及其自己编译的 *.o 文件添加到我的项目中,以便我可以使用它的函数等。我正在使用代码块并尝试为编译器和链接器设置路径,但它仍然无法识别功能。
我认为您已经从另一个项目准备了一个 .h 文件和 .o 文件,并希望将它们添加到您当前的项目中,但希望对您的项目的外部用户隐藏 .o 定义当前项目。
将您的 .o 文件添加到当前项目,并确保它实际存在于您的 linker 路径中。然后将 .h 文件添加到该项目,并确保它与您的源代码一起存在(不在 include 文件夹中),并确保它存在于您的编译器路径中。
Right-click .o 文件并单击“属性”。然后导航到“构建”选项卡,并勾选 'Link file'。
Right-click 您当前的项目,然后单击构建选项。然后在一般构建配置中,将 -lNAMEOFOBJECTFILE.o 添加到您的 linker 选项中。
现在...这不是 C++ 中的典型模式,我建议您考虑创建一个共享库,其中包含您希望使用的 'hidden' 代码,以及 link 您的最终二进制文件针对 .dll/.so。此外,如果 .o 文件使用任何外部依赖项,那么这对您不起作用,因此我推荐的建议路线是构建一个共享库文件,然后 linking 反对它。发布代码时,您始终可以忽略包含 .h 文件,这些文件包含您希望在最终 API.
中隐藏的符号。祝你好运!