boost库版本太多,用共享库容易出问题。而libc库静态则不被内核官方推荐,因新内核很可能不能支持静态链接的执行程序,内核官方给的解决方案就是:永远不要静态链接!
如何兼顾两者呢?gcc可以对一部分部分库动态链接,另外一部分则静态链接,这就解决这个两难的问题了。代码如下:
- g++ -o myserver myserver.o toolfunc.o rsa.o aes.o md5.o bignum.o -Wl,-Bstatic -llua -lsqlite3 -lboost_filesystem -lboost_system -lboost_regex -Wl,-Bdynamic -lstdc++ -lpthread
-Wl,-Bstatic后面的部分是静态链接的,而-Wl,-Bdynamic后面的部分是动态链接的。
阅读(4922) | 评论(0) | 转发(0) |