我是C ++的新手,我正在尝试在VS2013的同一解决方案中设置多个项目。目前,我已经回到了一个更简单的示例项目,试图找出我的错误。
项目1:
Main.cpp的
#include "Test.h"
#include <iostream>
using namespace std;
int main()
{
cout << _MOVEMENTSPEED();
system("pause");
return 0;
}
项目2 Test.h
#ifndef TEST_H
#define TEST_H
int _MOVEMENTSPEED();
#endif
Test.cpp的
#include "Test.h"
int _MOVEMENTSPEED()
{
return 10;
}
每当我尝试构建这个时,我得到错误“错误LNK2019:未解析的外部符号”int __cdecl _MOVEMENTSPEED(void)“(?_MOVEMENTSPEED @@ YAHXZ)在函数_main c:\ Users \ Max \ documents \ visual studio中引用2013 \ Projects \ Project1 \ Project2 \ Main.obj“和”错误2错误LNK1120:1未解析的外部c:\ users \ max \ documents \ visual studio 2013 \ Projects \ Project1 \ Debug \ Internal“。
更新 我测试了相同的代码,但在visual studio的一个项目文件中,它运行良好。
答案 0 :(得分:0)
创建多个项目时,您应该执行以下操作:
确保以下内容:
从其他项目中正确包含.h文件(通常每个项目都有自己的目录),因此您需要包含如下文件: #include“.. \ Test \ Test.h”
使用 _ declspec(dllexport) 和 导出功能/类_declspec(dllimport的)强>
在“链接”标签的项目设置中正确包含.lib文件。
正确设置项目依赖关系。
以下链接可以帮助您: