我搜索并阅读了所有GNU制作手册....但我不能将一个开源项目纳入我的。 你能救我吗?
一个简单的例子: 我想在我的项目中包含coWPAtty,以检查提供的.pcap文件是否具有有效的4次握手。 所以,我只需用=>调用cowpatty main() argc = 4; argv [] = {“my_program”,“ - r”,“pcap_file.pcap”,“ - c”}。但是..如果有2个函数main(),我怎么能编译它? 我尝试将cowpatty main()更改为cow_main()并且它可以工作,但我想知道是否可以使用prepocessor语句或以某种方式保留所有源代码。
我的Makefile就是:
COW_SRC=./cow_src
COW_DEP:= `sed -ne 's/^PROGOBJ[^a-z0-9A-Z]*\(.*\)/\1/gp' < $(COW_SRC)/Makefile`
LDLIBS= -lmagic -lm -lcrypto -lpcap
crack_server: cow
$(RM) $(COW_SRC)/genpmk.o
$(CC) $(LDLIBS) -g -o tmp ./tmp.c $(COW_SRC)/*.o
cow:
make -C $(COW_SRC) $(COW_DEP)
clean:
for i in $(COW_DEP);\
do $(RM) $(COW_SRC)/$$i;\
done;
这是简单的tmp.c
#include <stdio.h>
#include <stdlib.h>
#include <magic.h>
int main(int argc, char *argv[])
{
cow_main(argc,argv);
return 0;
}
答案 0 :(得分:0)
在构建并安装coWPAtty之后,只需使用system
从程序中调用它
int main(int argc, char *argv[])
{
int status = system("cowpatty my_program -r pcap_file.pcap");
return status;
}