链接静态库而不是动态库
linking static library instead of dynamic
我有一个名为FOO的目录,其中包含X.a和X.so。我只想选x。a。因此,在我的makefile中,我使用以下命令来链接它
EXE: OBJ.o
g++ -L/PATH/TO/FOO -o $@ $< -static -lX
但是当我这样做时,我得到以下错误
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
这应该如何正确地做。一种方法是给出a的路径,还有别的方法吗?
试试这个:
EXE: OBJ.o
g++ -L/PATH/TO/FOO -o $@ $< -Wl,-Bstatic -lX -Wl,-Bdynamic
如果我正确阅读ld
的文档,您不必指定绝对路径,但您可以使用其全名指定库,如:
EXE: OBJ.o
g++ -L/PATH/TO/FOO -o $@ $< -l:X.a
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 视觉studo 2019中的漫画和静态/动态绑定
- 静态数组的自由动态数组
- 动态初始化 C 与 C++ 中的静态值
- 以下代码执行哪种内存分配(动态或静态)?
- 将静态内存更改为动态C++
- 如何静态识别动态堆分配?
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- 非类类型表达式的静态类型与动态类型之间的差异
- 如何使用类型级函数动态创建静态类型?
- 静态和动态模板初始化可以交错吗?
- 将基类分配给派生对象,反之亦然,以C++以及静态和动态对象之间的差异
- 虚拟成员函数的定义是否强制在同一转换单元中动态初始化静态数据成员?
- 将静态字符数组中的字符分配给动态分配的字符数组 - 访问冲突
- 动态分配的数组和静态数组之间的区别
- 动态分配对象中的字段-动态分配更好还是静态分配更好?C++
- 如何对以下程序使用静态或动态转换
- 如何使用cmake设置OpenCV以启用动态和静态构建
- 静态分配和动态分配返回不同的答案
- 我应该在这个程序中使用静态内存分配还是动态内存分配