链接c ++文件

时间:2011-03-09 21:59:23

标签: c++ c linker

我有一个包含函数声明的头文件,我们称之为A.h,我在文件A1.cpp中实现了这个函数。现在A1.cpp有其他文件包含。并非A1.cpp中包含的所有文件都可用(第三方问题)。现在我的问题是,是否有可能从文件中调用函数调用main.cpp,动态链接到A1.cpp(不编译A1.cpp),因为我有来自第三方的一些文件不可用?

我的猜测是否定的,因为除非我已经包含了可用的文件,否则我无法获得A1.cpp的目标文件,因此我无法调用函数。但是纠正我,如果我错了,A1.cpp的编译文件,即A1.o仍然可以使用,因为我可以链接到它,因此进行函数调用而不依赖于其他包含文件(我没有?)< / p>

对我很轻松,我不是C ++家伙:-) !!任何有关此事的帮助或见解表示赞赏!!哦顺便说一下,我已经开始使用ndk用于android,因此麻烦: - )

2 个答案:

答案 0 :(得分:1)

如果您有目标文件(A.o),为什么不能在二进制文件中链接它?

g++ -o main main.o A.o

答案 1 :(得分:0)

如果我理解你的问题,那么答案就是否定,而不是目标只是一个cpp文件。   在不编译的情况下链接到其他东西的唯一方法是将它放在dll或预编译库(windows中的.lib)中。如果第三部分东西是.lib或者dll,那么你应该很幸运,你只需要头文件,然后告诉你的编译器链接静态或动态库。   如果有意义,请告诉我,如果没有,我可以澄清有关您的设置以及您尝试链接的更多信息。