链接到实现在头文件内的库的问题

Problems linking to a lib which implementation is inside a header file

本文关键字:问题 文件 实现 链接      更新时间:2023-10-16

我正在尝试编译一个使用lib OpenRacm的c++源代码。这个库是OpenRacm的修改版本,可以在Ubuntu和Mac OS X的最后一个版本中编译,显然这个库主要是针对Visual c++开发的。

我正在尝试的源代码在这里,并试图以这种方式编译:

g++ source.cpp -o app -I../opencram/inc/ -L../opencram/Lib/ -lOpenRACM -g

给出这个错误

我认为这是因为文件mem_manager.h没有mem_manager.cpp,也就是说,它在头文件中实现了所有的功能。问题是:有一种方法来编译我的源代码没有分裂mem_manager.h接口(头文件)和实现(CPP文件)?

谢谢!

问题最可能的原因是您没有向链接器提供导入库(a)。确保OpenRacm附带的。a文件被传递给链接器。