Stefan, I did: find `pwd` | egrep "[ao]$" >> liblistWithDuplicates.txt then opened it and added \ to the end of each line and added those libraries to my g++ arguments in Makefile after helloClass.o Now, in output I get two types of errors: multiple definition of .... undefined reference to ... In order to remove duplicate object file names, I wrote a short python script which is attached, to create liblistNoDuplicates.txt, but still I get the same errors. I'd really appreciate your advice. All the Best, Hamid On 1/2/14, Stefan Baranoff wrote: > Hamid, > > I do not think your attachments made it through but it looks like you are > not linking the DPDK object files in this line: > g++ helloClass.o > -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include > -lstdc++ > > There would need to be many more files beyond helloClass.o listed. Try > adding the relevant DPDK object files (I do not have the path off hand but > I believe they are in the "build" folder) and recompiling. The files you > need to add are those built when your build DPDK itself. > > This is similar to missing -lpcap if compiling against libpcap but in this > case you need to link against object files, not a shared library. > > Good luck! > Stefan > > Sent from my smart phone; people don't make typos, Swype does! > On Jan 2, 2014 4:35 AM, "Hamid Ramazani" wrote: > >> Hi, >> >> I wanted to write a simple program using class (object oriented). I've >> attached my helloClass.cpp and also Makefile. after runnig make I get >> below errors. >> I think: >> 1. it is the problem of using c code in c++ >> 2. I've used extern "C" in helloClass.cpp >> 3. Should I recompile the DPDK from source with gcc -c argument for >> compatibility with g++? >> >> Thanks in advance. >> >> g++ -c helloClass.cpp >> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include >> g++ helloClass.o >> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include >> -lstdc++ >> helloClass.o: In function `rte_lcore_id': >> helloClass.cpp:(.text+0x7): undefined reference to `per_lcore__lcore_id' >> helloClass.o: In function `rte_get_master_lcore': >> helloClass.cpp:(.text+0x15): undefined reference to >> `rte_eal_get_configuration' >> helloClass.o: In function `rte_lcore_is_enabled': >> helloClass.cpp:(.text+0x2a): undefined reference to >> `rte_eal_get_configuration' >> helloClass.o: In function `HelloClass::HelloClass(int, char**)': >> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x20): >> undefined reference to `rte_eal_init' >> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x4b): >> undefined reference to `__rte_panic' >> helloClass.o: In function `HelloClass::run()': >> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x3f): >> undefined reference to `rte_eal_remote_launch' >> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x80): >> undefined reference to `rte_eal_mp_wait_lcore' >> collect2: ld returned 1 exit status >> make: *** [helloClass.o] Error 1 >> >> >> All the Best, >> Hamid >> >