나는 새로운 stackoverflow 사용자입니다! KUbuntu 12.04에서 C로 Bluetooth를 프로그래밍 할 때 몇 가지 문제가 있기 때문에 작성 중입니다.리눅스 블루투스 프로그래밍에서 C & socket.h
은 내가 (연결 시작)이 PDF에서 발견 한 프로그램을 통해 내 노트북에 장치 (LEGO 마인드 스톰 벽돌)를 연결하기 위해 노력하고있어 : NXT_Bluetooth_Handout
나는 다음과 같은 패키지 설치 : 를 - bluez-hcidump, 통신 디버깅 도구 - bluez, 리눅스 블루투스 스택과 관련 도구 - libBluetooth3의 BlueZ 라이브러리 - libBluetooth-DEV는 BlueZ 라이브러리
// Socket, used for Bluetooth socket
#include <sys/socket.h>
#include <sys/types.h>
// Bluetooth headers
#include <bluetooth/bluetooth.h>
#include <bluetooth/rfcomm.h>
에 연결하기위한 개발 파일 1) 단순히 프로그램을 컴파일하려고하면 내가 얻을 :
이
$ gcc -lm -lbluetooth nxt_bt_connect.c -o nxt_bt_connect
/tmp/ccSLdkpn.o: In function `init_bluetooth':
nxt_bt_connect.c:(.text+0x60): undefined reference to `str2ba'
collect2: ld returned 1 exit status
str2ba 작동해야 BlueZ 기능입니다
... ba2str 다른 기능이 라이브러리 (3210)
주로 나는 두 가지 문제가 발생 제공하고 문제없이 작동합니다.
2) 소켓 관련 오류가 발생 str2ba 기능을 대신 ba2str 사용하기 위해 내가 코드를 수정하는 경우 :
$ gcc -lm -lbluetooth 1.c -o nxt_bt_connect2
1.c: In function ‘main’:
1.c:101:23: error: called object ‘socket’ is not a function
문제는 내가 어떤 소켓 헤더가 없다는 것입니다은에, SYS /입니다 사실을 실행할 경우 :
이러한 문제를 해결하는 방법을 아는 사람이 있습니까? 모든 상황을 충분히 명확하게 설명하기를 바랍니다 ... 나쁜 영어로 사과드립니다!
대단히 감사합니다!
좋아, 나는 아주 무지하고 대단히 감사한다 !! 다른 파일에는 몇 가지 프로그래밍 오류가 있습니다 .-) – mafalda
Hei, 다시 한 번 귀찮게해서 죄송합니다. 같은 프로그램의 cmake 파일을 만들고 싶다면 어떻게 -lm을 포함시킬 수 있습니까? 블루투스? – mafalda
음, 파일에 입력 하시겠습니까? –