无法使用g++导入共享库
Cannot import shared library with g++
我创建了一个共享库,将其链接到一个主程序,但这个主程序无法看到任何共享库方法,也无法导入其头。这就是我所做的:
- 我在独立于位置的代码中编译了库的每个cpp文件
g++ -c -fPIC -o objname.o objname.cpp -I"HeadersFolder"
- 我创建了着色器库,并使用主目录中的正确名称
g++ -shared -o libmylib.so obj1.o obj2.o etc.. etc..
- 我正试图用以下代码编译一个简单的main:
g++ main.cpp -L. -lmylib
现在,在这个主体中,我导入了一个lib头,类似于:
#include <Header.hpp>
g++告诉我没有这样的文件或目录。
"现在我导入了一个lib标头,类似于:…"
在这种情况下,您还需要添加-I
选项来编译main.cpp
:
g++ main.cpp -I"HeadersFolder" -L. -lmylib
你也应该使用
#include "Header.hpp" // Note the quotes "
尖括号(<>
)用于包含系统头(当预处理器评估它们时,这些头可能与您自己的头冲突)。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 尝试导入pybind-opencv模块时出现libgtk错误
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 导入库可以跨dll版本工作吗
- 在cuda线程之间共享大量常量数据
- 如何从具有移动语义的类对象中生成共享指针
- 在c代码之间共享数据的最佳方式
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 将静态库链接到不带-fPIC的共享库中
- 建议在运行时将带有类实例的列表从c++导入qml
- 为什么std::互斥需要很长的、非常不规则的时间来共享
- 使用Boost Interprocess创建托管共享内存需要很长时间
- CMake 导入本地共享库以及如何将其包含在标头中
- 将两个使用C++流的共享库导入 python 会导致输出损坏
- Python - 导入 c++ 模块接口 - 无法打开共享对象文件
- 无法使用g++导入共享库
- 导入"RegExp.tlb" C++ COM 接口是否在进程之间隐式共享内存?
- 如何将本地c++共享库导入Android studio 1.5
- 如何将c++程序编译到要导入Python的共享库中
- 如何在Python中编译、创建共享库和导入c++ boost模块