2010-03-22 64 views
0

我从另一个开发人员编译成静态库的Visual Studio项目中拥有C++源代码。我需要更改它,以便从该代码构建一个dll,以便我可以从C#中调用它。我进入Visual Studio中的项目属性,并将配置类型更改为DLL。然而,现在给很多链接错误的,如:如何将VS2008 C++项目链接为DLL而不是LIB?

error LNK2001: unresolved external symbol __CAP_Enter_Function XXXFilter.obj XXXFramework 

还有什么我需要在Visual Studio和代码以从代码,而不是一个lib一个dll呢?图书馆是巨大的,所以编写一个包装不是一个选项。我有代码,所以我应该能够使它建立一个DLL。

我不是一个非常有经验的C++开发人员,但我在C#和visual studio中。 C++的命令行是:

/OD/OI/d “_DEBUG”/ d “_XBOX”/ d “XBOX”/ d “_XBOX_CRT_DEPRECATE_INSECURE”/ d “_MBCS”/ FD/MTD /Yu"stdafx.h” /Fp"Debug/AtgFramework.pch “/ FO ”调试\“ /Fd"Debug\vc80.pdb”/ W4/NOLOGO/C /紫/ TP

感谢

回答

1

某处在C++项目有人使用了/callcap Visual C++参数。我不认为它有一个C++设置,所以它很可能在“附加选项”/“命令行”部分。删除选项,它应该链接好。

+0

谢谢。这解决了很多链接错误,但不是全部。还有更多未解决的外部符号错误。我会张贴他们,但有1700个。 C++命令行是: /Od/Oi/D“_DEBUG”/ D“_XBOX”/ D“XBOX”/ D“_XBOX_CRT_DEPRECATE_INSECURE”/ D“_MBCS”/ FD/MTd /Yu"stdafx.h“/ Fp “Debug/AtgFramework.pch”/ Fo“Debug \\”/Fd"Debug\vc80.pdb“/ W4/nologo/c/Zi/TP – 2010-03-22 22:07:08

+0

我无法评论其他未解决的外部问题。它们很可能是源代码使用的库,编译器开关无法提供帮助。 – 2010-03-22 22:34:21

相关问题