C와 C++의 호환문제에서 대해서
글쓴이: jazzjung / 작성시간: 금, 2015/09/25 - 3:00오후
안녕하세요 우분투에서 C와 C++소스를 합쳐 하나로 만들려고합니다.
C는 opencv소스이고 c++ 아두이노 firmata를 이용한 servo모터 제어문 입니다.
각각 소스는 잘 돌아가는데
이 두 소스를 병합하고 g++로 make파일을 만들어 실행파일을 만들려고 하면
다음과 같은 에러메세지가 발생합니다
gcc -L.. -I../includes ledBlink.c -lfirmatac -o ledBlink.ex gcc -L.. -I../includes servoTest.c -lfirmatac -o servotest.ex gcc u3_shield_GPIO_sysfs.c -o extGPIO.ex g++ -L.. -I../includes servo.cpp -lfirmatac -o servo.ex `pkg-config --libs \opencv` servo.cpp: In function ‘int main(int, const char**)’: servo.cpp:51:39: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] firmata = firmata_new("/dev/ttyACM99"); ^ /tmp/ccw8aGyA.o: In function `main': servo.cpp:(.text+0x6a): undefined reference to `firmata_new(char*)' servo.cpp:(.text+0x82): undefined reference to `firmata_pull(s_firmata*)' servo.cpp:(.text+0xa7): undefined reference to `servo_attach(s_firmata*, int)' servo.cpp:(.text+0x65f): undefined reference to `servo_write(s_servo*, int)' servo.cpp:(.text+0x688): undefined reference to `servo_write(s_servo*, int)' collect2: error: ld returned 1 exit status make: *** [all] 오류 1
인터넷에 검색하니 collect2: error: ld returned 1 exit status 이 메세지는 링커오류라고 하는것 같습니다
참고를 할 수 없다고 나오는데 이 부분을 해결하려면 어떻게 해야 하는지 알려주셨으면 감사하겠습니다.
Forums:
undefined reference to
undefined reference to 를 검색해보면. 원인은?
- main의 리턴값. 데이터형
- include 파일 경로
- Qt SDK가 불편한 컴파일 및 개발에 도움이 될지도 모릅니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기