Wenn Sie mit/MD (oder Varianten), die Symbole _environ
und _wenviron
werden durch Funktionsaufrufe ersetzt. Sie müssen den Code aufspüren, der diese (veraltet und veraltet) Symbole verwendet, und sie zu use the proper function names machen. Ich habe viele Leute mit dem gleichen Problem wie Sie in google auch gefunden.
Ich fand einige mehr Details here:
Polling _environ in a Unicode context is meaningless when /MD or /MDd linkage is used. For the CRT DLL, the type (wide or multibyte) of the program is unknown. Only the multibyte type is created because that is the most likely scenario.
Wenn Sie die Verwendung des Symbols _environ
der breiten Zeichen Version _wenviron
, Ihre Original-Code arbeiten wird wahrscheinlich ändern.
Ok, also muss ich getenv_s, _wgetenv_s und _putenv_s, _wputenv_s verwenden. Aber was, wenn ich über alle Umgebungsvariablen iterieren möchte? – dimba
Ich habe ein bisschen mehr Details hinzugefügt, es sieht so aus, als ob Sie das _wenviron-Symbol verwenden sollten, wenn Sie/Md verwenden –