Пока у меня есть только смог скомпилировать свою реализацию как 32-битную библиотеку Winelib, используя
Код: Выделить всё
winegcc -m32 -L/usr/lib/wine/i386-unix -shared -o myproject.dll myproject_main.c myproject.spec
Затем я попытался скомпилировать ее как 64-разрядную версию. битовый объект, используя
Код: Выделить всё
winegcc -L/usr/lib64/wine/x86_64-unix -shared -o myproject64.dll myproject_main.c myproject.spec
Код: Выделить всё
/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/bin/ld: cannot find -ladvapi32: No such file or directory
/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/bin/ld: cannot find -luser32: No such file or directory
/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/bin/ld: cannot find -lwinecrt0: No such file or directory
/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/bin/ld: cannot find -lkernel32: No such file or directory
/usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/bin/ld: cannot find -lntdll: No such file or directory
collect2: error: ld returned 1 exit status
winegcc: /usr/bin/gcc failed
Действительно, пакеты OpenSUSE не заполняют архивные файлы в x86_64-unix, а только в x86_64-windows при сборке. Я проверил, и пакеты Fedora (по крайней мере, официальные из WineHQ), похоже, имеют противоположную проблему: мне не удалось найти файлы архива i386-unix, но пакеты содержат x86_64-unix< /code>.
Я уже спрашивал об этом на форумах OpenSUSE, где меня просили пойти и спросить на форумах Wine, поскольку «похоже, это не проблема с упаковкой». ." Мой пост на форумах WineHQ до сих пор не получил ответа, поэтому мне интересно, неправильный ли мой подход: я чувствую, что смогу скомпилировать свою реализацию и как 64-битный двоичный файл. Если это так и должно работать, как мне скомпилировать 64-битный двоичный файл?
Подробнее здесь: https://stackoverflow.com/questions/790 ... and-64-bit
Мобильная версия