У пути компоновщика нет реального файла для библиотеки - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь скомпилировать Xapian для Windows (я знаю, что это моя первая проблема, но я, к сожалению, не могу получить среду Linux для этого). Я установил msys2 и пытаюсь скомпилировать его с помощью MinGw64. Я могу получить его для создания статического файла .a. Но файл .so или .dll довольно неуловим. Я получаю следующее предупреждение от lib tool.

*** Warning: linker path does not have real file for library -lz.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libz and none of the candidates passed a file format test
*** using a file magic. Last file checked: C:/Tools/msys64/mingw64/lib/libz.dll.a

*** Warning: linker path does not have real file for library -lrpcrt4.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with librpcrt4 and none of the candidates passed a file format test
*** using a file magic. Last file checked: C:/Tools/msys64/mingw64/x86_64-w64-mingw32/lib/librpcrt4.dll

*** Warning: linker path does not have real file for library -lws2_32.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libws2_32 and none of the candidates passed a file format test
*** using a file magic. Last file checked: C:/Tools/msys64/mingw64/x86_64-w64-mingw32/lib/libws2_32.dll
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

Я пытался убедиться, что DLL-файлы существуют в каталоге Windows, а libz1.dll - в каталоге bin. Я попытался скопировать .dll из каталога Windows и переименовать их в пути поиска. Я указал конкретно на libz.dll.a вместо использования опции -lz. Я попытался пропатчить Libtool для просмотра программ dos как исполняемых файлов, а не только скомпилированных библиотек Windows. Я знаю, что это длинный выстрел, но любые намеки, которые кто-то может дать мне, чтобы указать мне в другом направлении, было бы здорово! Заранее спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...