Инкрементная ошибка компоновщика VC ++ LNK1000 - PullRequest
2 голосов
/ 14 апреля 2010

Отказ от ответственности: я парень на C # и практически не имею опыта VS C ++ / MFC.

Я пытаюсь создать несколько проектов на моей машине, которые смешаны в C ++ /. Net. При компиляции проекта C ++ через командную строку на моем компьютере я получаю эту ошибку:

LINK: фатальная ошибка LNK1000: внутренняя ошибка во время IMAGE :: BuildImage [SOURCE_CODE_PATH_TO_VCPROJ]

Моя версия Link.exe: 9.00.30729.1

Строка кода, которая вызывает это, довольно проста:

System :: String ^ fullPath = gcnew System :: String (dllpath);

Когда я отказываюсь от gcnew и просто записываю строку на место, все компилируется правильно.

Результатом поиска в Google является множество сообщений о том, что эта проблема исправлена ​​с помощью kb948127, включенного в VS2008 SP1. Я подтвердил, что у меня установлено именно это исправление. Я также проверил, что добавочное связывание отключено с параметром / INCREMENTAL: NO, но я все еще испытываю ошибку при каждой компиляции.

Есть ли настройка или переключатель, которые мне не хватает? Кто-нибудь сталкивался с такой проблемой раньше?

Ответы [ 2 ]

3 голосов
/ 16 апреля 2010

Я исправил ошибки компоновщика, изменив код для использования преобразования marshal_as для создания System :: String ^, но мне не ясно, что фактически вызвало ошибку компоновщика из исходного кода.

Вот строка, которую я поменял:

System :: String ^ fullPath = marshal_as (dllPath);

0 голосов
/ 16 июня 2010

Я получил похожую ошибку:

Linking...
TapCommandFormat.lib(CTapCommandDisplay.obj) : fatal error LNK1000: unknown error; consult documentation for technical support options

Error executing link.exe (tool returned code: 1000)

ITP - 1 error(s), 0 warning(s)

Это произошло потому, что моей системе не хватило виртуальной памяти. Я закрыл огромный документ, который занимал около 1,4 ГБ виртуальной памяти, и проблема ушла ...

$ 0,02

...