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


不知道我在这里缺少什么,或者为什么我什至无法使股票示例正常工作

最佳答案

那是目录名称大小写问题。

atidaqATIDAQ不同。

重命名目录或编辑makefile。

然后去向提供它的人抱怨,他们的来源取决于在不区分大小写的文件名的平台(例如Windows)上的提取。

关于c++ - 制作ATIDAQ C库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26622604/

10-12 23:56