сделать библиотеку ATIDAQ C

0

По какой-то причине после загрузки библиотеки ATIDAQ C я не могу даже сделать свои примеры акций. Структура файла выглядит следующим образом:

├── ATIDAQ
│   ├── ascii.h
│   ├── asciitab.h
│   ├── dom.c
│   ├── dom.h
│   ├── events.c
│   ├── expatls.c
│   ├── ftconfig.c
│   ├── ftconfig.h
│   ├── ftrt.c
│   ├── ftrt.h
│   ├── ftsharedrt.h
│   ├── iasciitab.h
│   ├── latin1tab.h
│   ├── nametab.h
│   ├── node.c
│   ├── stack.c
│   ├── stack.h
│   ├── utf8tab.h
│   ├── xmldef.h
│   ├── xmlparse.c
│   ├── xmlparse.h
│   ├── xmlrole.c
│   ├── xmlrole.h
│   ├── xmltok.c
│   ├── xmltok.h
│   ├── xmltok_impl.c
│   ├── xmltok_impl.h
│   └── xmltok_ns.c
├── readme.txt
└── Samples
    ├── calinfo.c
    ├── ftconvert.c
    └── makefile

Файл readme упоминает:

Следующие файлы должны быть скомпилированы как часть вашего проекта: ftconfig.c ftrt.c dom.c expatls.c node.c stack.c xmlparse.c xmlrole.c xmltok.c

В дополнение к вышеуказанным файлам файлы "events.c", "xmltok_impl.c" и "xmltok_ns.c" также включены в эту библиотеку, но не предназначены для прямого компиляции, так как они "#include", d в другие файлы библиотеки.

Ни один из этих файлов не предназначен для изменения.

Но есть уже созданный make файл, который выглядит как таковой:

#makefile for ftconvert and calinfo
#use 'make ftconvert' to make ftconvert sample and 'make calinfo' to make calinfo
#uses gcc, needs modifications for other compilers.
object_compile = gcc -c
exe_compile = gcc -o
remove_command = rm
ftconvert: ftconvert.o ftconfig.o ftrt.o dom.o expatls.o node.o stack.o xmlparse.o xmlrole.o xmltok.o
    $(exe_compile) ftconvert.exe ftconvert.o ftconfig.o ftrt.o dom.o expatls.o node.o stack.o xmlparse.o xmlrole.o xmltok.o
ftconvert.o: ftconvert.c ../atidaq/ftconfig.h 
    $(object_compile) ftconvert.c
ftconfig.o: ../atidaq/ftconfig.c ../atidaq/ftconfig.h
    $(object_compile) ../atidaq/ftconfig.c
ftrt.o: ../atidaq/ftrt.c ../atidaq/ftrt.h  ../atidaq/ftsharedrt.h
    $(object_compile) ../atidaq/ftrt.c
dom.o: ../atidaq/dom.c
    $(object_compile) ../atidaq/dom.c
expatls.o: ../atidaq/expatls.c
    $(object_compile) ../atidaq/expatls.c
node.o: ../atidaq/node.c
    $(object_compile) ../atidaq/node.c
stack.o: ../atidaq/stack.c
    $(object_compile) ../atidaq/stack.c
xmlparse.o: ../atidaq/xmlparse.c
    $(object_compile) ../atidaq/xmlparse.c
xmlrole.o: ../atidaq/xmlrole.c
    $(object_compile) ../atidaq/xmlrole.c
xmltok.o: ../atidaq/xmltok.c
    $(object_compile) ../atidaq/xmltok.c
calinfo: calinfo.o ftconfig.o ftrt.o dom.o expatls.o node.o stack.o xmlparse.o xmlrole.o xmltok.o
    $(exe_compile) calinfo.exe calinfo.o ftconfig.o ftrt.o dom.o expatls.o node.o stack.o xmlparse.o xmlrole.o xmltok.o
calinfo.o: calinfo.c ../atidaq/ftconfig.h
    $(object_compile) calinfo.c
clean:
    $(remove_command) *.o *.exe

запуск команды: make ftconvert дает ошибку:

gcc -c ftconvert.c
ftconvert.c:35:32: fatal error: ..\atidaq\ftconfig.h: No such file or directory
compilation terminated.
make: *** [ftconvert.o] Error 1

Не уверен, что мне здесь не хватает, или почему я не могу даже заставить пример на складе работать

  • 0
    оператор этого типа: ../atidaq/ftconfig.h указывает, что имя каталога atidaq строчное (все * nix ОС чувствительны к регистру), поэтому измените имя вашего основного каталога на (строчные буквы) atidaq
Теги:
makefile

1 ответ

0

Это проблема с именем каталога.

atidaq - это не то же самое, что ATIDAQ.

Переименуйте каталог или отредактируйте файл makefile.

Затем отправляйте жалобу людям, которые обеспечивают, чтобы их источник зависел от того, чтобы быть извлеченным на платформе, на которой нет имен файлов, чувствительных к регистру (например, Windows).

  • 0
    С этой модификацией я теперь нахожусь на: make: *** No rule to make target '../ATIDAQ/ftconfig.h', needed by 'ftconvert.o'. Stop.
  • 0
    @MattStokes Вы редактировали make-файл тогда? Хорошо. Из какого каталога вы запускаете make?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню