首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接器错误LNK2019?

链接器错误LNK2019?
EN

Stack Overflow用户
提问于 2013-01-09 03:30:59
回答 2查看 611关注 0票数 0

我有以下文件

file1_moduleA.hpp

file1_moduleA.cpp

sharedFile.hpp

file1_moduleB.cpp

代码语言:javascript
复制
//sharedFile.hpp
extern CustomClass *doSomething(CustomClass *var1, const char *var2);
extern CustomClass *doSomethingElse(const char *var1);

template <class MYCLASS_A>
void myFunction(CustomClass *var1, const char* var2){
assert(somthing);
if (condition){
    new (MYCLASS_A);
}
}



//file1_moduleA.cpp
#include "sharedFile.hpp"
// Contains the definitions of doSomething and doSomethingElse among others


//file1_moduleA.hpp
// Other declarations


//file1_moduleB.cpp
#include"sharedFile.hpp"

//...SNIPPETS OF CODE
void someFunction(CustomClass* var1){
doSomething(var1, "FOO");
}
//...

下面是Visual项目A中的一个项目: file1_moduleA.hpp、file1_moduleA.cpp和sharedFile.hpp

在另一个VS项目B中,项目B: file1_moduleB.cpp,file1_moduleB.hpp

项目A编译和链接完美,而项目B为CustomClass *doSomething(CustomClass *var1,const char *var2)提供了一个未解决的符号,即在file1_moduleB.cpp中的someFunction

我尝试过定义带有和不带extern的函数的;尝试在file1_moduleA.hpp中为模板使用一个单独的文件;在VS中尝试诱导ProjectB和ProjectA之间的依赖,但似乎没有什么效果。我不知道为什么在链接过程中找不到定义。然而,ProjectA.lib正在创建中。

如能在这方面提供任何帮助,将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2013-01-09 03:40:46

如果您使用的是visual studio,并且这些是不同的项目,那么就让项目B依赖于项目A。

右击解决方案。转到项目依赖项。

选择B项目。

单击项目A(使项目B依赖于项目A)

重建。

票数 0
EN

Stack Overflow用户

发布于 2013-01-09 12:21:42

你在项目B中包括共享文件吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14227863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档