我想在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++项目,您可以使用 getenv from <cstdlib> ,而不是C++ / CLI。

关于c++ - Visual C++ 2012中的getenv,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16550932/

10-11 16:18