Visual c++ LNK2001-应该很容易解决。。但我能';我没看见!(VS2005)
我在这里撞到了头。。正在尝试解决这些LNK2001错误。帮助页面给了我很多理由,但我看不出哪一个适用 <> P>请问有知识的VS 2005 C++人能帮助这些吗?问我问题。。这有时会有帮助。如果我不害怕看起来像一个精神主义者,我会找一只橡皮鸭来解释这一点:-)但我坐在办公室里 错误LNK2001:未解析的外部符号“struct ethernetParams\u t* ethernetData_g”(?ethernetData_g@@3PAUethernetParams_t@@A) 简单控制台.obj 我的代码simple_console.cpp试图使用C中定义的结构,但是#包含工作和#stdafx的方式我无法理解。包含ethernetParams_t的标头包含在stdafx.h中Visual c++ LNK2001-应该很容易解决。。但我能';我没看见!(VS2005),visual-c++,linker-errors,Visual C++,Linker Errors,我在这里撞到了头。。正在尝试解决这些LNK2001错误。帮助页面给了我很多理由,但我看不出哪一个适用 P>请问有知识的VS 2005 C++人能帮助这些吗?问我问题。。这有时会有帮助。如果我不害怕看起来像一个精神主义者,我会找一只橡皮鸭来解释这一点:-)但我坐在办公室里 错误LNK2001:未解析的外部符号“struct ethernetParams\u t* ethernetData_g”(?ethernetData_g@@3PAUethernetParams_t@@A) 简单控制台.obj
#include "CON_ethernet_defs.h"
请走开。。。链接器告诉您有一个未知的外部符号
ethernetData\u g
,其类型为struct ethernetParams\u t*
。原因是,尽管在您包含的头中声明了ethernetData\u g
,但它的定义来自您需要链接的另一个对象文件。由于未链接到适当的对象文件,链接器无法找到正确的定义
您丢失的目标文件必须来自您试图使用的库,因此请在该文件夹中查找.obj文件为了使用其他人开发的代码(例如,在您的情况下使用静态库),您需要两件事:
看起来你做了第一件事,但不是第二件事。这就是如何解释链接器以这种非常神秘的形式给出的错误…@Attila和@mox可能已经解决了这个问题:您需要链接到包含您正在使用的函数实现的
obj
或lib
文件
如果右键单击解决方案资源管理器中的项目,单击属性,然后选择链接器|输入,您可以查看并编辑要链接到的库/对象文件列表(“其他依赖项”)
<>你说结构是用C定义的,而不是C++,那么另一个可能的问题是在包含文件中缺少了<代码>外“C”<代码>,请参见解释。