我有一个链接到许多图书馆的程序.默认情况下,g++更喜欢链接到共享库,即使存在相应的存档.

如果存在静态存档,我如何改变这种偏好,使其更喜欢静态存档而不是动态库?

注意,我使用了-static选项,但它试图找到所有库的静态存档,这不是我想要的.

推荐答案

g++ -Wl,-Bstatic -lz -lfoo -Wl,-Bdynamic -lbar -Wl,--as-needed

zliblibfoo链接为静电,并将libbar链接为动态链接.--as-needed将删除任何未使用的动态库.

C++相关问答推荐

如何从TPS特定的TGPT_PUBLIC数据 struct 中以OpenSSL的EVP_PKEY

问关于C中的指针和数组

C指针地址和转换

字符数组,字符指针,在一种情况下工作,但在另一种情况下不工作?

如何判断宏参数是否为C语言中的整型文字

Tiva TM4C123GXL的I2C通信

正在try 将文件/文件夹名从目录 struct 存储到链接列表

Make Node函数.S有什么问题吗?

Setenv在c编程中的用法?

如何确保在C程序中将包含uft8字符的字符串正确写入MySQL?

S在本文中的价值观到底出了什么问题?

通过k&;r语法的c声明无效

如何在不使用字符串的情况下在c中编写函数atof().h>;

正在try 理解C++中的`正在释放的指针未被分配‘错误

为什么这个代码的最后一次迭代不能正常工作?

从文件到链表读取日期

这些表达式是否涉及 C 中定义的复合文字?

如何向 execl 创建的后台程序提供输入?

在带中断的循环缓冲区中使用 易失性

当 a 是代码块时使用逗号运算符 (a, b)