很抱歉问这个新手问题,但是我不能离开这个...
在同一目录中我有4个文件:ctacs.ini
; ct_api.h
; libctacs.a
和main.cpp
。我的cpp文件包含#include "ct_api.h"
,当我尝试使用编译时:
g++ -lctacs main.cpp -o main
我对库中定义的函数有未定义的引用-__-
你能告诉我我做错了什么吗?我在互联网上搜索,但该选项-lctacs
似乎是继续进行的正确方法...
非常感谢你
一些编译器和链接器通过在命令行上从左到右搜索目标文件/源文件/库来解析对函数的引用。这意味着调用外部定义函数的文件应出现在包含其定义的目标文件/库/源文件之前。
您碰巧确实有一个链接程序,该链接程序确实取决于此顺序。您需要将库放在后面, main.cpp
以便可以找到函数定义:
g++ main.cpp -lctacs -o main
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句