我有一个共享库,我希望使用 GCC 链接可执行文件。共享库的名称不是 libNAME.so 形式的非标准名称,因此我不能使用通常的 -l 选项。 (它恰好也是一个 Python 扩展,因此没有“lib”前缀。)
我可以将库文件的路径直接传递给链接命令行,但这会导致库路径被硬编码到可执行文件中。
例如:
g++ -o build/bin/myapp build/bin/_mylib.so
有没有办法链接到这个库而不会导致路径被硬编码到可执行文件中?
最佳答案
有一个“:”前缀可以让你给你的库赋予不同的名字。 如果你使用
g++ -o build/bin/myapp -l:_mylib.so other_source_files
应该在路径中搜索 _mylib.so。
关于c++ - 对于不遵循 libNAME.so 命名约定的库,如何在没有 -l 或硬编码路径的情况下使用 GCC 链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/207069/