के लिए अनिर्धारित संदर्भ मैं बनाकर कोड के अपने टुकड़े को संकलित करने की कोशिश कर रहा हूं। आम तौर पर मैं इस तरह मेरी कोड संकलन:मेकफ़ाइल त्रुटि: मुख्य
/opt/timesys/linux-gnu/toolchain/bin/../../toolchain/lib/crt1.o: In function `__start':
(.text+0xc): undefined reference to `main'
/opt/timesys/linux-gnu/toolchain/bin/../../toolchain/lib/crt1.o: In function `__start':
(.text+0x10): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [db.o] Error 1
कर सकते हैं:
CC= mipsisa32r2el-timesys-linux-gnu-g++
export LD_LIBRARY_PATH=:/parsecpp/sqlite-mips2/lib:/parsecpp/lib:/tmp/vixs_temp/DirectFB/single_core/lib
CFLAGS=-I/usr/include/libxml2 -I/develop/xc4/rootfs/parsecpp/sqlite-mips2/include
LDFLAGS=-L/develop/xc4/rootfs/parsecpp/lib -L/develop/xc4/rootfs/parsecpp/sqlite-mips2/lib
LIBS = -lsqlite3 -lxml2
PROG=testing
all: main.o db.o mod.o multiplex.o network.o networkinterfacemodule.o program.o service.o
$(CC) -o $(PROG) $(CFLAGS) $(LDFLAGS) main.o db.o mod.o multiplex.o network.o networkinterfacemodule.o program.o service.o $(LIBS)
main.o: main.cpp
$(CC) $(CFLAGS) $(LDFLAGS) main.cpp db.cpp networkinterfacemodule.cpp mod.cpp multiplex.cpp network.cpp program.cpp service.cpp $(LIBS)
db.o: db.cpp
$(CC) $(CFLAGS) $(LDFLAGS) db.cpp $(LIBS)
mod.o: mod.cpp
$(CC) $(CFLAGS) $(LDFLAGS) mod.cpp $(LIBS)
multiplex.o: multiplex.cpp
$(CC) $(CFLAGS) $(LDFLAGS) multiplex.cpp $(LIBS)
network.o: network.cpp
$(CC) $(CFLAGS) $(LDFLAGS) network.cpp $(LIBS)
networkmoduleinterface.o: networkinterfacemodule.cpp
$(CC) $(CFLAGS) $(LDFLAGS) networkinterfacemodule.cpp $(LIBS)
program.o: program.cpp
$(CC) $(CFLAGS) $(LDFLAGS) program.cpp $(LIBS)
service.o: service.cpp
$(CC) $(CFLAGS) $(LDFLAGS) service.cpp $(LIBS)
clean:
rm -rf *o testing
तब मैं इस त्रुटि मिलती है:
mipsisa32r2el-timesys-linux-gnu-g++ -o testing -I/usr/include/libxml2 -L/develop/xc4/rootfs/parsecpp/lib -L/develop/xc4/rootfs/parsecpp/sqlite-mips2/lib -I/develop/xc4/rootfs/parsecpp/sqlite-mips2/include db.cpp main.cpp networkinterfacemodule.cpp network.cpp multiplex.cpp program.cpp service.cpp -lsqlite3 -lxml2
इस लंबी आदेश से छुटकारा पाने के लिए मैं एक makefile लिखने का प्रयास किया कोई मेरी मदद करता है?
मुझे पसंद है कि मेकफ़ाइल पूरे आदेश की तुलना में कई गुना लंबा है। –
'आरएम-आरएफ * ओ परीक्षण': क्या आप वाकई" ओ "चरित्र में समाप्त होने वाली सभी फाइलों और निर्देशिकाओं को हटाना चाहते हैं? – sth
@ आर। मार्टिनिन्हो फर्नांडीस, लेकिन इसे संकलन के समय को बचाया जाना चाहिए, कोई बड़ी बात नहीं।हालांकि, यह निश्चित रूप से अधिक जटिल रूप से लिखा जा सकता है। – unkulunkulu