Armadillo с испорченным исполняемым файлом MinGW G ++ в Windows 7

Если я попытаюсь скомпилировать код

  #include "armadillo"
int main(int argc, char *argv[]) {
}

используя MinGW g ++ и последнюю версию Armadillo (3.6.1), она отлично работает на моей Windows XP, но если я скомпилирую ее и запусту на Windows 7, я получу: «Из-за проблемы программа перестала работать правильно».

Что может вызвать это?

Я пробовал как с 4.6.2, так и с 4.7.2 (g ++ -v из последних включен далее):

Используя встроенные спецификации. COLLECT_GCC = G ++
COLLECT_LTO_WRAPPER = c: / mingw / bin /../ libexec / gcc / mingw32 / 4.7.2 / lto-wrapper.exe Цель: mingw32 Настраивается с помощью: ../gcc-4.7.2/configure
—enable-languages ​​= c, c ++, ada, fortran, obj c, obj-c ++ —disable-sjlj-исключения —with-dwarf2 —enable-shared —enable-libgo mp —disable-win32-registry —enable-libstdcxx-отладка
—disable-build-poststage1- with-cxx —enable-специфичный для версии-runtime-libs —build = mingw32 —prefix = / mingw Модель потока: win32 gcc версия 4.7.2 (GCC)

Обратите внимание, что на данном этапе я даже не связываю никакие библиотеки, такие как LAPACK.
Я тоже попробовал раскомментировать

// # определяем ARMA_USE_LAPACK

в config.cpp, но безрезультатно.
Кстати, я могу скомпилировать c код без брони без проблем на обеих системах. Только добавление броненосца включает проблемы.

Обновление: если я нажимаю Ctrl-C, я получаю:

forrtl: ошибка (200): программа прерывается из-за события control-C
Линейный источник ПК-программы lapack_win32_MT.d
103A49EA Неизвестный Неизвестный Неизвестный lapack_win32_MT.d
1034CD0E Неизвестный Неизвестный Неизвестный lapack_win32_MT.d
1035B254 Неизвестный Неизвестный Неизвестный kernel32.dll
755B6C19 Неизвестный Неизвестный Неизвестный kernel32.dll
75513677 Неизвестный Неизвестный Неизвестный ntdll.dll
77DFC002 Неизвестный Неизвестный Неизвестный ntdll.dll
77DFBFD5 Неизвестный Неизвестный Неизвестный

Обновление: на еще одной системе Windows 7 мне удается выполнить, но я получаю следующее сообщение во время компиляции (при компиляции example2.cpp в пакете armadillo):

Info: resolving vtable for std::exception by linking to __imp___ZTVSt9exception (auto-import)
Info: resolving vtable for std::bad_alloc by linking to __imp___ZTVSt9bad_alloc (auto-import)
Info: resolving std::cout  by linking to __imp___ZSt4cout (auto-import)
Info: resolving std::nothrow  by linking to __imp___ZSt7nothrow (auto-import)
Info: resolving vtable for __cxxabiv1::__si_class_type_info by linking to __imp___ZTVN10__cxxabiv120__si_class_type_infoE (auto-import)
Info: resolving vtable for __cxxabiv1::__class_type_info by linking to __imp___ZTVN10__cxxabiv117__class_type_infoE (auto-import)
c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld.exe: warning: auto-importing has been activated without --enable-auto-import specified on the command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.

Благодарю.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]