[zyc@localhost connectSql]$ make
g++ -o insert_cgi insert_cgi.cpp comm.cpp -I/home/zyc/linux/myhttp/connectSql/../lib/include -L/home/zyc/linux/myhttp/connectSql/../lib/lib -lmysqlclient -rpath=/usr/local/lib
g++: unrecognized option '-rpath=/usr/local/lib'
/usr/bin/ld: warning: libssl.so.1.0.0, needed by /home/zyc/linux/myhttp/connectSql/../lib/lib/libmysqlclient.so, not found (try using -rpath or -rpath-link)
...
/home/zyc/linux/myhttp/connectSql/../lib/lib/libmysqlclient.so: undefined reference to `ERR_get_error_line_data'
collect2: ld returned 1 exit status
make: *** [insert_cgi] Error 1
解决方法:
[zyc@localhost connectSql]$ export LD_LIBRARY_PATH=/home/zyc/linux/myhttp/lib/lib
问题二:mysql连接不上:报糟糕握手
makefile 中库文件引入问题
问题三:
comm.h:6: error: expected constructor, destructor, or type conversion before ‘;’ token
insert_cgi.cpp: In function ‘int main()’:
insert_cgi.cpp:9: error: ‘mysql_insert’ was not declared in this scope
In file included from comm.cpp:2:
comm.h:6: error: expected constructor, destructor, or type conversion before ‘;’ token
解决:
源文件与头文件中函数声明与定义不匹配导致。
int mysql_insert(MYSQL* myfd,std::string &name,std::string &school);
忘记写函数返回类型导致。