Если при выполнении решения Дэна вы получите сообщение об ошибке cannot convert parameter 1 from 'std::string' to 'const wchar_t *'
, тогда вы зададите неправильный вопрос. Вместо того, чтобы спрашивать, как преобразовать wchar_t*
в String^
, вы должны спросить, как преобразовать std::string
в String^
.
Используйте встроенную функцию c_str
, чтобы получить простую char*
из std::string
и передать ее конструктору.
std::string unmanaged = ...;
String^ managed = gcnew String(unmanaged.c_str());
-arch
- это флаг только в версии gcc от Apple. Поскольку вы создавали из исходного кода, не принадлежащего Apple, в вашем новом gcc нет этого флага. Проверьте его справочную страницу, чтобы узнать, какой флаг вы должны передать, чтобы он генерировал 64-битный код.