【发布时间】:2013-05-14 19:08:25
【问题描述】:
我想在 Visual Studio 2012 的 C++ 项目中使用 C 中的 getenv 函数。
代码:
extern "C" System::SByte^ getenv(const System::SByte^ name);
然后在某个函数中:
String^ h1 = "HOMEDRIVE";
const System::SByte^ c1 = dynamic_cast<const System::SByte^>(h1);
getenv(c1);
我得到的错误:
Error 11 error LNK2019: unresolved external symbol "extern "C" class System::SByte ^ __clrcall getenv(class System::SByte const ^)" (?getenv@@$$J0YMP$AAVSByte@System@@P$ABV12@@Z) referenced in function "public: void __clrcall Kameleon::Form1::createConfig(void)" (?createConfig@Form1@Kameleon@@$$FQ$AAMXXZ) C:\Users\Michal\Desktop\Kameleon\Kameleon\Kameleon\Kameleon.obj Kameleon
【问题讨论】:
-
有什么理由需要调用 C 函数吗?有一个托管等效项:msdn.microsoft.com/en-us/library/77zkk0b6.aspx
标签: c++ c visual-studio-2012 extern getenv