makefile文件编写时常见错误总结
在Linux上编译C/C++时,makefile中需要经常添加一些编译选项。比如 -pthread #为了使C++项目可以使用多线程库 -ldl # -stdc++ #编译时调用C++标准库 -std=gnu99 #使用C99标准 这里重点讲一下 -ldl 选项。 问题描述: undefined reference to dlsym' undefined reference to dlerror' undefined reference to dlopen' undefined reference to dlclose' 编译时提示出现一系列以dl为前缀的一些变量或函数未被定义,离奇的是我并没有使用过这些东西,并且不知道它们是在哪被引用的。后来问了问凯旋,才知道是因为编译选项少加了参数 -ldl。加入该参数后,在编译时才会包含dl库,从而解决报错。 由此我通过网上查询资料,整理了下常见的gcc编译连接错误及解决办法(针对x86/x86_64的Linux环境): 没有指定链接参数-lz 错误提示: /usr/local/mysql/lib/mysql/libmysqlcl....