Я работаю над набором библиотек для проекта, и мы хотели бы, чтобы их легко было включить. Из-за этого мы помещаем библиотеки в/usr/lib/skywalker и заголовки в/usr/include/skywalker. В каждой программе мы включаем библиотеки, например, #include.По умолчанию включен путь Glibc
Проблема возникает, когда мы хотим перекрестно скомпилировать с arm-linux-gnueabi-gcc (конечная платформа - это рука). Кажется, что он не получает/usr/include как путь включения по умолчанию, и он не компилируется. Я искал в Интернете и пробовал несколько параметров для компилятора, и я мог найти только каталог библиотек.
Как узнать путь по умолчанию для заголовков в определенном компиляторе? Как мы можем легко решить эту проблему (эти библиотеки будут использоваться другой группой разработчиков)?
Я не программист C, но я предполагаю, что это потому, что, когда вы кросс-компиляции для различных платформ, вам нужны различные заголовки, поэтому она не может используйте '/ usr/include'. Стандартный старомодный способ решить эту проблему - использовать autoconf, automake и make; более новый способ решить это с помощью CMake, который намного проще в использовании. Я не знаю, поддерживают ли они кросс-компиляцию, но я был бы удивлен, если бы они этого не сделали. –
Попробуйте 'arm-linux-gnueabi-gcc -v -c somefile.c', ищите' #include <...> поиск начинается здесь: '. –
@ н.м .: Я искал это. Я пробовал каждую информационную команду в компиляторе, и ничего не работало. Так легко! Теперь я могу все решить. Большое спасибо. – markmb