我想在C++/CLI中做一些非常简单的事情,但是我遇到了与Visual Studio的问题,我找不出原因。奇怪的C++/CLI链接问题 - 无法解析的外部符号,但头文件链接
我有两个项目,其中一个包含名为JNIUtils.h的头文件。其内容是非常准系统 -
#pragma once
class JNIUtils
{
public:
JNIUtils(void);
~JNIUtils(void);
};
及其实施是非常简单的,以及 -
#include "stdafx.h"
#include "JNIUtils.h"
JNIUtils::JNIUtils(void)
{
}
JNIUtils::~JNIUtils(void)
{
}
所有我想要做的是建立在另一个项目中新定义的类型的对象。在我包括这头文件的项目,我去了
项目属性>配置属性> VC++目录>包含目录
我添加了路径头文件我”,其中一个入口米,包括所在(JNIUtils.h)
我试图在外观创建该对象的实例如下CPP文件:
#include "stdafx.h"
#include "JNIUtils.h"
using namespace System;
int main(array<System::String ^> ^args)
{
JNIUtils *util = new JNIUtils();
Console::WriteLine(L"Hello World");
return 0;
}
当我尝试编译我收到以下错误:
Error 3 error LNK1120: 2 unresolved externals C:\zcarter\UDK\WebSvcClients\Debug\JNITester.exe JNITester
Error 2 error LNK2019: unresolved external symbol "public: __thiscall JNIUtils::JNIUtils(void)" ([email protected]@[email protected]) referenced in function "int __clrcall main(cli::array<class System::String^>^)" ([email protected]@[email protected]@@@Z) C:\zcarter\UDK\WebSvcClients\JNITester\JNITester.obj JNITester
Error 1 error LNK2028: unresolved token (0A000009) "public: __thiscall JNIUtils::JNIUtils(void)" ([email protected]@[email protected]) referenced in function "int __clrcall main(cli::array<class System::String^>^)" ([email protected]@[email protected]@@@Z) C:\zcarter\UDK\WebSvcClients\JNITester\JNITester.obj JNITester
谁能告诉我我在做什么错吗?
通常您需要使用包含其他对象文件的对象文件或库。 – 2012-01-12 03:38:39
您能告诉我在何处添加obj文件吗?没有lib文件... – 2012-01-12 03:43:20
你能指定你使用的是什么版本的Visual Studio吗? – Coincoin 2012-01-12 03:48:34