VS的Linux工程拷贝文件原理
visual studio的linux的工程会将工程中添加的文件的最外层文件为基目录,按照文件的目录格式拷贝到工程的当前目录下。
当你创建linux工程时需要注意的是如果你引用工程外的文件,首先将工程外的文件用其它工具同步到linux对应目录下,目录路径相对linux工作的当前目录。最好不要将工程外的文件添加到工程当中,否则你添加文件会改变你的目录结构变化。
比如
你在windows目录 E:/work/test/下创建一个Hello的工程,设置了该工程在linux目录/home/test为工程目录,你在Hello文件夹下添加的所有文件在程序编译时都会拷贝到linux目录/home/test/Hello目录下,visual studio创建的linux工程的当前目录为/home/test/Hello/。但你在E:/work/test目录下添加一个头文件IHello.h时,并将该文件添加到Hello工程中,此时再进行编译时,IHello.h文件不会拷贝在/home/test,而会拷贝到/home/test/Hello/目录下,且E:/work/test/Hello目录下的所有文件,都会拷贝到/home/test/Hello/Hello目录下,这时visual studio创建的linux工程的当前目录为/home/test/Hello/Hello.这个变化可能和你的想法不太一样,最终导致工程无法编译成功。
EOS工程建立
在创建EOS工程之间,选择在linux系统中用脚本将EOS工程编译成功,此时在eos目录会创建了一个build目录,此目录为EOS工程创建了一些文件,如配置文件config.cpp,即生成了完整编译EOS的全部文件。同时创建了EOS每个工作的Makefile文件,
其中“工程名字.dir”目录下有flags.make文件描述该工程编译时引用的宏、头文件目录及编译条件
link.txt文件描述了该工程链接的库文件
所以我们可以参考这两个文件建立visual studio下的linux工程进行编译EOS中的程序