Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW? / 12 сообщений из 12, страница 1 из 1
11.01.2013, 01:05
    #38105718
xmarat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
Есть необходимость компилировать свои программы как для Linux так и для Windows. Но держать Windows с MinGW только для компиляции нет желания. Поэтому понадобилось поставить wxWidgets, zlib и libzip для mingw в Ubuntu Linux. WxWidgets поставил без проблем вот таким образом:
Код: plaintext
1.
2.
3.
./configure --prefix=/usr/local/i586-mingw32 --host=i586-mingw32msvc --build=i686-linux
make
sudo make install
Однако данный способ для zlib не подошел. Метод описанный здесь так же не помог, во время make ругается на отсутствующий libz.a. Может кто знает как решить задачу? Заранее благодарен...
...
Рейтинг: 0 / 0
11.01.2013, 13:14
    #38106253
xmarat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
На данный момент взял бинарники zlib отсюда (хотелось бы установить из исходников конечно). Компиляция libzip спотыкается на "cannot find -lc".
...
Рейтинг: 0 / 0
11.01.2013, 16:44
    #38106739
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
Из Visual Studio 2010 Pro/Express несложным образом выдирается "C/C++ compile-only" окружение. Из всего дотнета требуется одна-единственная dll для работы некоторых утилит.
Т.е. в вашем распоряжении оказывается cl/make/прочая- комстрока . Можно скопировать на флэшку и таскать между любыми виндовыми компами. На двухтоннике не проверял - может и не запуститься, но с XP и старше - никаких проблем быть не должно.
Конкретно zlib собирается без каких-либо проблем.

P.S. В express-огрызке нет возможности компилять под x64 - M$ зажилила соответствующие версии cl/make.
...
Рейтинг: 0 / 0
11.01.2013, 16:54
    #38106765
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
xmarat,

Кк бы поставь virtual box, и в нем ввиду и всё что надо, да и всё....

а -lc это она libc не находит. Она для mingw и не нужна, значит ты что то уже не так делаеш, тебе надо кросс компиляцию делать...
...
Рейтинг: 0 / 0
11.01.2013, 17:02
    #38106785
xmarat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
VirtualBox не лучшее решение... MasterZiv , не подскажешь как libzip кросс компилировать?
...
Рейтинг: 0 / 0
11.01.2013, 17:42
    #38106841
nik_x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
xmaratVirtualBox не лучшее решение... MasterZiv , не подскажешь как libzip кросс компилировать?
Э-э-э... Под термином кросскомпилиляция вроде как подразумевают компиляцию кода под одним процессором для другого.
Напр. Из под х86 я собираю код для ARM.
...
Рейтинг: 0 / 0
11.01.2013, 19:17
    #38106968
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
nik_xxmaratVirtualBox не лучшее решение... MasterZiv , не подскажешь как libzip кросс компилировать?
Э-э-э... Под термином кросскомпилиляция вроде как подразумевают компиляцию кода под одним процессором для другого.
Напр. Из под х86 я собираю код для ARM.Ну не только между процессами, но и между разными ОС тоже...

А по сабжу топика: лучше поставить вторую машину. Я тоже сначала пытался настроить кросс-компиляцию, даже работало все замечательно, но... Реальная машина с целевой системой (ну или хотя бы внутри vmware player) снимает множество проблем и самое главное - она позволяет тестировать сборки самому а не ждать пока напарник или, не дай бог, клиент попытается запустить и обломится.
...
Рейтинг: 0 / 0
11.01.2013, 20:15
    #38107009
xmarat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
Все же, хотелось бы настроить кросс-компиляцию, а проверять можно и wine'ом...
...
Рейтинг: 0 / 0
11.01.2013, 20:57
    #38107040
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
xmaratпроверять можно и wine'ом...
Им же можно и компилировать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.01.2013, 21:16
    #38107055
xmarat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
Я пробовал, там проблемы с файловой структурой...
...
Рейтинг: 0 / 0
11.01.2013, 23:53
    #38107231
xmarat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
Zlib установился следующим образом:
Код: plaintext
1.
2.
3.
4.
5.
export CC=i586-mingw32msvc-gcc
export AR=i586-mingw32msvc-ar
export RANLIB=i586-mingw32msvc-ranlib
export RC=i586-mingw32msvc-windres
./configure --prefix=/usr/i586-mingw32msvc --uname=cygwin

Далее перехожу к libzip, открываю файл configure текстовым реактором и заменяю следующие строки:
Код: plaintext
1.
2.
build_os=$*
host_os=$*

на:
Код: plaintext
1.
2.
build_os=cygwin
host_os=cygwin

Затем запускаю файл configure:
Код: plaintext
1.
./configure --prefix=/usr/i586-mingw32msvc

Далее, после какого то времени, компиляция все же спотыкается на ошибке:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
make[2]: Вход в каталог `/home/xmarat/libzip-0.10.1/src'
/bin/bash ../libtool --tag=CC   --mode=link i586-mingw32msvc-gcc  -g -O2   -o zipcmp.exe zipcmp-zipcmp.o ../lib/libzip.la -lz 
libtool: link: i586-mingw32msvc-gcc -g -O2 -o zipcmp.exe zipcmp-zipcmp.o  ../lib/.libs/libzip.a -lz
zipcmp-zipcmp.o: In function `compare_zip':
/home/xmarat/libzip-0.10.1/src/zipcmp.c:165: undefined reference to `__imp__zip_open'
/home/xmarat/libzip-0.10.1/src/zipcmp.c:172: undefined reference to `__imp__zip_get_num_files'
/home/xmarat/libzip-0.10.1/src/zipcmp.c:180: undefined reference to `__imp__zip_stat_index'
zipcmp-zipcmp.o: In function `test_file':
/home/xmarat/libzip-0.10.1/src/zipcmp.c:303: undefined reference to `__imp__zip_fopen_index'
/home/xmarat/libzip-0.10.1/src/zipcmp.c:312: undefined reference to `__imp__zip_fread'
/home/xmarat/libzip-0.10.1/src/zipcmp.c:318: undefined reference to `__imp__zip_file_strerror'
/home/xmarat/libzip-0.10.1/src/zipcmp.c:320: undefined reference to `__imp__zip_fclose'
/home/xmarat/libzip-0.10.1/src/zipcmp.c:324: undefined reference to `__imp__zip_fclose'
zipcmp-zipcmp.o: In function `compare_zip':
/home/xmarat/libzip-0.10.1/src/zipcmp.c:188: undefined reference to `__imp__zip_close'
zipcmp-zipcmp.o: In function `test_file':
/home/xmarat/libzip-0.10.1/src/zipcmp.c:304: undefined reference to `__imp__zip_strerror'
zipcmp-zipcmp.o: In function `compare_zip':
/home/xmarat/libzip-0.10.1/src/zipcmp.c:166: undefined reference to `__imp__zip_error_to_str'
collect2: ld returned 1 exit status
make[2]: *** [zipcmp.exe] Ошибка 1
make[2]: Выход из каталога `/home/xmarat/libzip-0.10.1/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/home/xmarat/libzip-0.10.1'
make: *** [all] Ошибка 2

Разбираюсь дальше...
...
Рейтинг: 0 / 0
14.01.2013, 09:51
    #38108796
xmarat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW?
Не знаю что не так в версии Libzip 0.10, но версия 0.9 поставилась без проблем, по методу, описанному в предыдущем сообщении...
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / C++, Ubuntu Linux, как скомпилировать библиотеки под MinGW? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]