Я использую библиотеку DCMTK с открытым исходным кодом C ++ из http://dicom.offis.de/dcmtk.php.en. Я успешно скомпилировал эту библиотеку в Windows, используя VC ++ IDE, MacOS Xcode, симулятор Mac iOS.Но я не могу скомпилировать эту библиотеку на устройстве iOS, поскольку она основана на архитектуре ARM.Библиотека DCMTK очень хорошо скомпилирована на архитектуре Intel.
Теперь моя проблема: -
Мне нужно скомпилировать эту библиотеку DCMTK C ++ для архитектуры ARM путем кросс-компиляции.Я использую 64-битную машину Ubuntu для кросс-компиляции.Я установил двоичные файлы из цепочки инструментов GNU ARM из http://www.gnuarm.com/ Я использую GCC toolchain 4.0 binutils-2.16.1, gcc-4.0.2-c-c ++, newlib-1.14.0, insight-6.4, TAR BZ2[65.5MB] двоичные файлы для 64-битной машины Ubuntu для кросс-компиляции ARM.
После установки этих двоичных файлов в Ubuntu я установил переменную среды PATH равной PATH = $ PATH / gnu_arm / bin
Для настройкибиблиотека DCMTK C ++ Я выполнил следующую команду в оболочке
CC = arm-elf-gcc CXX = arm-elf-g ++ AR = arm-elf-ar RANLIB = arm-elf-ranlib ARFLAGS = cruv./ configure –prefix = $ home_dicom –target = arm-elf –host = arm-elf –enable-std-includes –disable-threads
Правильно создает файл make.Сейчас я пытаюсь скомпилировать код с помощью команды make, но сталкиваюсь с таким количеством ошибок компиляции, как: - 1) Я пытался скомпилировать свою первую зависимую библиотеку C ++, которая имеет тип ststd.Я получил ошибку для вызовов DIR *, struct dirent, opendir (), closedir ().Он включает в себя эти вызовы, но я не нашел никаких определений для вышеуказанных вызовов в этом заголовочном файле.
2) Когда я компилировал другую библиотеку oflog, я получил следующие ошибки, такие как error: nthos не был объявлен в этомошибка области: ntohl не был объявлен в этой ошибке области: htons не был объявлен в этой ошибке области: htonl не был объявлен в этой области.Эти вызовы являются сетевыми вызовами и не определены ни в одном из заголовочных файлов из инструмента GNU ARM.
Я попытался загрузить исходные файлы двоичных файлов ARM, извлек файлы tar и попытаться скопировать отсутствующие файлы заголовков в установленный GNU.ARM на Ubuntu.Для некоторых файлов он компилируется после внесения изменений в скопированные заголовочные файлы, а для некоторых снова выдает ошибки компиляции. Для каждого файла, присутствующего в библиотеке DCMTK, существует цикл ошибок компиляции, поскольку некоторые стандартные заголовочные файлы отсутствуют.
Пожалуйста, предложите, если есть какая-либо другая цепочка инструментов, доступная для кросс-компиляции ARM на 64-битной машине Ubuntu.Или любое другое хорошее решение, кроме этого.
Спасибо !!!Amit