编译程序使用库时须要注意的问题

今天使用一台旧的AIX测试环境(A1)进行代码编译,老是执行到莫名其妙的地方,从其余机器(A2)编译的程序在本测试机上运行却没有问题,相同的代码通过屡次尝试,不管如何清理、重编译,老是相同的问题。测试

终于想到了能够把A1编译的程序放到A2上运行试试,果真,A2机器运行的时候提示缺乏了一个动态库,我纳闷,我原本是用的静态库呀,怎么提示缺乏动态库呢?果真在A1的lib库里边发现了两个动态库文件,除了后缀不一样外,名字与静态库同样,确定是前辈们遗留的开发中垃圾,因而删除后尝试,果真没有没有问题了。开发

编译时makefile中都是使用“-l+库名“的方式引用动态和静态库,可是当”库名.so“和”库名.a“同时存在-L中时,会优先使用动态库”库名.so“。
编译

相关文章
相关标签/搜索