在download加入ATIDAQ C Library之后,无论出于何种原因,我都无法给出其库存示例。文件结构如下所示:
├── 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
自述文件中提到:
以下文件应作为项目的一部分进行编译: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”到其他库文件中。
这些文件都不打算被修改。
但是已经创建了一个makefile,看起来像这样:
#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
不知道我在这里缺少什么,或者为什么我什至无法使股票示例正常工作
最佳答案
那是目录名称大小写问题。atidaq
与ATIDAQ
不同。
重命名目录或编辑makefile。
然后去向提供它的人抱怨,他们的来源取决于在不区分大小写的文件名的平台(例如Windows)上的提取。
关于c++ - 制作ATIDAQ C库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26622604/