Visual Studio 2010 и MinGW - PullRequest
       45

Visual Studio 2010 и MinGW

2 голосов
/ 12 марта 2012

У меня есть куча старого кода на C, который я скомпилировал с помощью MinGW, скопировал сгенерированные библиотечные файлы в каталог проекта VS C ++ DLL (C ++ / CLI) (с именем NBIS) и добавил их в Linker-> Input Filesустановка.Содержимое этого поля для каждой конфигурации приведено ниже.

Конфигурация выпуска

liban2k.a;libbozorth3.a;libcblas.a;libclapck.a;libf2c.a;libfet.a;libfft.a;libihead.a;libimage.a;libioutil.a;libjpegb.a;libjpegl.a;libmindtct.a;libmlp.a;libnfiq.a;libnfseg.a;libpca.a;libpcautil.a;libutil.a;libwsq.a;libgcc.a;libmingwex.a;libmoldname.a;libmsvcr100.a

Отладочная конфигурация

liban2k.a;libbozorth3.a;libcblas.a;libclapck.a;libf2c.a;libfet.a;libfft.a;libihead.a;libimage.a;libioutil.a;libjpegb.a;libjpegl.a;libmindtct.a;libmlp.a;libnfiq.a;libnfseg.a;libpca.a;libpcautil.a;libutil.a;libwsq.a;libgcc.a;libmingwex.a;libmoldname.a;libmsvcr100d.a

Когда я компилирую и запускаю, используя конфигурацию отладки, это успешно.Когда я компилирую и запускаю, используя конфигурацию выпуска, я получаю эту ошибку: «Необработанное исключение: System.IO.FileLoadException: не удалось загрузить процедуру, импортированную NBIS.dll». *

Если я изменяю выпускКонфигурация C / C ++ -> Code Generation-> Runtime Library для «Многопоточная отладочная DLL (/ MDd)», конфигурация выпуска может успешно компилироваться и запускаться.Кто-нибудь сталкивался с подобной проблемой и имеет решение или какое-либо руководство по устранению этой проблемы?

1 Ответ

2 голосов
/ 30 марта 2012

Согласно http://msdn.microsoft.com/en-us/library/xe4t6fc1(v=vs.71).aspx, «параметр« Создать информацию отладки (/ DEBUG) »изменяет значения по умолчанию для параметра / OPT с REF на NOREF и с ICF на NOICF». Это может быть удаление символов, которые вам действительно нужны. Установите для него значение NOREF и посмотрите, что произойдет (Свойства конфигурации / Компоновщик / Страница оптимизации).

...