| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > cross compile for specific target |
| Автор: slater 13.2.2011, 13:18 |
| приветствую! необходимо собрать binutils и gcc для конкретной target(например, sh(superH) архитектуру). 1) Как правильно это сделать(с какими опциями собирать) 2) собрав такой набор под конкретную платформу, нужно ли будет при компиляции передовать в опциях подо что собирать elf? 3) как, используя стандартный набор binutils и gcc, например,под CentOS, наиболее коректно собрать под специфичную платформу люди, прошу не отсылать в гугл, по существу там ничего не нашел |
| Автор: slater 13.2.2011, 14:06 |
| boostcoder, спасиб а еще такой вопрос, gdb нужно собрать тоже как кросс-платформенный, чтобы можно было дебажить код под спцифичную платформу, или же сгодится стандартный? |
| Автор: boostcoder 13.2.2011, 14:08 |
во первых - то, что вы соберете, кросс-платформенным не будет. т.к. будет работать только на целевой архитектуре. во вторых - gdb никогда не собирал, посему не знаю. но полагаю что тоже нужно собирать. |
| Автор: slater 13.2.2011, 14:47 |
| хм, не совсем понятно термин cross compile что означает? 1) это компилятор, который работает например на x86 под linux, но компилирует под конкретную target? 2) или же это в значении, что все утилитки будут работать только на tsrget(т.е. компиляция будет осуществляться на target) 3) или же это компилятор, который способен собирать под любые архитектуры? и еще, как можно посмотреть, под какие target можно собрать тот жу binutils? в доках к нему вообще про это не написано Добавлено через 2 минуты и 16 секунд вообще, в вики написано: A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are used to generate executables for embedded system or multiple platforms. http://en.wikipedia.org/wiki/Cross_compiler Добавлено через 5 минут и 5 секунд я же хочу собрать: 1) набор утилит для компиляции на самой таргет(т.е. запускать буду на таргет) 2) набор утилит, для компиляции бинарников для конкретной таргет, но запускать эти утилитки буду на x86 под linux |
| Автор: boostcoder 13.2.2011, 14:59 | ||
похоже я вас не верно понял. |
| Автор: slater 13.2.2011, 15:12 |
| почему |
| Автор: slater 13.2.2011, 16:17 |
| как можно посмотреть, под какие target можно собрать тот жу binutils? в доках к нему вообще про это не написано какие значения может принимать --target=? |
| Автор: xvr 14.2.2011, 13:20 | ||||
Именно это И еще учтите, что кроме cross compiler'а вым еще понадобятся cross libraries (их тоже надо собрать и установить) |
| Автор: boostcoder 14.2.2011, 13:22 |
нет) гуглением ничего не нашел. нужно пробовать. если не поддерживается, вероятно, это станет понятно на этапе configure. |
| Автор: bsa 14.2.2011, 17:59 |
| Target, обычно, принимает значения: <arch>-<vendor>-<os>-<libc>. Например, i686-pc-linux-gnu, sh-vendor-linux-uclibc, sh1-vendor-linux-gnu, sh5-vendor-linux-klibc, sh64-vendor-linux-gnu... |
| Автор: slater 14.2.2011, 20:02 |
| ребята, спасибо bsa, да, совершенно верно, в таком виде и формируется target/ если внимательно посмотреть configure, то так оно собственно и есть. видимо какого то строго определенно списка таргетов не существуют, но как я понял, играют важную роль только arch и os, остальные параметры несущественны |