环境介绍
ubuntu version: 13.10
gcc, g++ version: 4.8.1
cppunit version: 1.12.1
cppunit 可以在该处下载cppunit传送门
安装过程
解压以后, 安装仍然是传统的三步骤:
- ./configure
- make
- sudo make install
configure
的过程能够很容易的通过, 当进行make的时候, 则出现了如下的错误:
g++ -g -O2 -o .libs/DllPlugInTester DllPlugInTester.o CommandLineParser.o -ldl ../../src/cppunit/.libs/libcppunit.so -lm
../../src/cppunit/.libs/libcppunit.so: undefined reference to `dlsym'
../../src/cppunit/.libs/libcppunit.so: undefined reference to `dlopen'
../../src/cppunit/.libs/libcppunit.so: undefined reference to `dlclose'
collect2: error: ld returned 1 exit status
make[2]: *** [DllPlugInTester] Error 1
make[2]: Leaving directory `/home/xc-pc/software/cppunit-1.12.1/src/DllPlugInTester'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/xc-pc/software/cppunit-1.12.1/src'
make: *** [all-recursive] Error 1
从上面的提示可以看出, 问题是出在DllPlugInTester编译的过程中, 出现这个问题的可能原因是g++的版本为4.8.1.
解决办法
cd到DllPlugInTester目录下,
vi Makefile
在LDFLAGS=
后面加上, LDFLAGS=-Wl,--no-as-need
, 然后再次make
, 如果在其他的目录又出现类似的问题, 用同样的方法进行处理即可. 最后利用sudo make install
完成安装
具体测试时候的问题
在具体使用的过程中, 会出现找不到libcppunit.so.1**类似的错误, 原因是没有将路径添加到环境变量, 可以通过以下步骤实现:
vi /etc/ld.so.conf
添加一行/usr/local/lib
然后运行sudo ldconfig
即可export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
来源:oschina
链接:https://my.oschina.net/u/929903/blog/204898