有了gcc,是否可以链接库,但前提是它存在
With gcc is it possible to link library but only if it exists?
我们有一个有点混乱的makefile系统,我们要修复它。但与此同时,我需要添加一个变通方法,我不确定是否可以要求编译器(或链接器(链接库,但前提是它存在。我知道如何修复makefile,但这需要一些时间,同时我想快速破解。。。
所以我有这样的想法:
gcc <...other options...> -L ./some/path -l somelibrary
当libsomelibrary.so
不存在时,会出现错误。我希望它在这种情况下继续,而不链接。有可能吗?-一些链接器选项?
您可以替换
gcc <...other options...> -L ./some/path -l somelibrary
在带有的Makefile中
gcc <...other options...> -L ./some/path -l somelibrary || gcc <...other options...> -Wl,--unresolved-symbols=ignore-in-object-files
附带说明一下,您可以简单地执行./some/path/libsomelibrary.so
,而不是-L ./some/path -l somelibrary
。
make
程序对调用的程序(在本例中为gcc(的返回值作出反应。如果返回0,则表示成功。所有其他值都被视为错误。因此,您可以调用bash脚本作为中间解决方案进行链接。在任何情况下,只要让bash脚本返回0即可。
相关文章:
- C++模板来检查友元函数的存在
- 既然存在危险,为什么项目要使用-I include开关
- 我们可以访问一个不存在的联盟的成员吗
- C++:对不存在的命名空间使用命名空间指令
- C++quit()函数中可能存在作用域问题
- C++擦除(如果存在)
- g++ 说函数不存在,即使包含正确的标头
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 有了gcc,是否可以链接库,但前提是它存在
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- gcc和clang在表达式是否为常量求值的问题上存在分歧
- C++Builder中的OnClick事件签名存在问题
- 如何正确地将分支添加到已存在的树中
- 我知道函数调用中存在歧义.有没有办法调用foo()函数
- 如何检查QList中是否存在值
- 根据某个函数是否存在启用模板
- 如何将分支添加到已存在的TTree:ROOT
- 地图计数确实很重要,或者只是检查是否存在
- 有没有办法将字符串添加到 Vector 中,但前提是它尚不存在?->C++
- 检查前提条件是否存在原子增量,即原子值小于指定值