2016-11-29 58 views
0

我有两个项目的解决方案 - proj_1,proj_2无法解析的外部符号 - 从其他项目调用静态函数

proj_1是LIB项目,proj_2是常规项目

proj_2我有功能命名为static void proj_2_func()。 我试图从proj_1(不创建对象)调用该函数,但我得到链接错误 - unresolved external symbol

proj_2: 

class proj_2_class 
{ 
    public: 
    static void proj_2_func(); //the implementation is not relevant 
} 


proj_1: 

in cpp file: 

#include proj_2_class.h // I added the path to "additional include files" in proj_1 

void proj_1_class::proj_1_func() 
{ 
    proj_2_class::proj_2_func(); 
} 

生病是高兴,对错误的指导。

谢谢。

+1

的可能的复制[什么是未定义参考/解析的外部符号错误以及如何解决它?](http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-doi-i-fix) – Danh

回答

0

因为你的函数proj_1_class::proj_1_func调用函数proj_2_class::proj_2_func,后者需要有地方提供了一个实现 - 不这样做是什么原因造成的连接错误

+0

它具有'proj_2'类的实现.. – user1673206

+0

构建'proj_1'时编译的文件“proj_2.cpp”(或者提供所述实现的文件是否被调用)?我怀疑不是 – Smeeheey

+0

我首先编译了'proj_2',之后编译了'proj_1' – user1673206