Программное обеспечение, с которым я работаю на кораблях с NETLIB BLAS/LAPACK, встроенных в его источники, используя имена всех строчных символов, но теперь при переносе приложения в окна я обнаружил, что Intel MKL и несколько других BLAS/LAPACK для этой платформы используют имена всех символов в верхнем регистре. Есть ли способ сказать компилятору/компоновщику gnu игнорировать регистр при совпадении имен символов?gcc игнорировать оболочку имен символов при связывании
.
.
.
undefined reference to `_dgeqp3'
.
.
.
$ nm /lib/LAPACK.lib | grep -i " T _dgeqp3"
00000000 T _DGEQP3
Компиляция Netlib BLAS или LaPack пакеты с MinGW gfortran, как мы делали до сих пор, результаты в именах символов, как ___dgeqp3___ (в нижнем регистре, окончательное подчеркивание), но теперь я хочу использовать другие компиляторы и библиотеки в Windows, и большинство BLAS Реализации LAPACK, распределенные в двоичной форме, имеют имена символов, такие как _DGEQP3 (верхний регистр, окончательный знак подчеркивания), а некоторые даже имеют _dgeqp3 (нижний регистр, без окончательного подчеркивания). У нас уже есть #define заявления, чтобы охватить окончательные подчеркивания, и если я не могу найти способ обойти эту проблему с чувствительностью к регистру, я думаю, нам придется их дополнять соответствующим образом. –
@ Цетин, иногда это то, как печенье рушится. Удачи! –