g++: -l[some]: linker input file unused because linking not done

我在Windows下使用SQLite编了个C++程序,在编写Makefile并使用cygwin 中的 g++进行编译链接时遇到如下的错误:

linker input file unused because linking not done

我的语句是 g++ -c a.cpp -lsqlite3

到网上查了一下,问题出在链接数据库的语句不应出现在编译语句里面。 上面的语句里面有 -c 即编译 compile,所以命令会忽略掉所有的 -l 链接库的命令。

而要链接数据库,应该在生成可执行文件时才使用。
正确的使用链接的语句应该是 g++ a.o -L. -lsqlite3 -o exename

http://blog.sina.com.cn/s/blog_5ac88b350100by2s.html

你可能感兴趣的:(File,input,not,linker,because,Linking,done,unused)