在Ubuntu Core 22.04.02 LTS下使用i2c-dev库编译C++程序失败的问题求助
在Ubuntu Core 22.04.02 LTS下使用i2c-dev库编译C++程序失败的问题求助
大家好,我最近在Ubuntu Core 22.04.02 LTS上尝试用i2c-dev.h库编写一个C++程序,用来读写I2C数据包,但一直没法成功编译。我已经试着在Makefile里添加了头文件路径,但编译器返回的错误看起来像是Linux头文件本身编译出了问题,实在搞不定了,来求助大家!
我的Makefile内容:
CC = g++ CFLAGS = -Wall ALL_LIBS = -lrt -lstdc++ -std=c++11 -pthread -L/opt/picoscope/lib -lps4000a -libi2c INCLUDES = -I/opt/picoscope/include/libps4000a -I/usr/src/linux-headers-5.15.0-67-generic/include -I/usr/src/linux-headers-5.15.0-67-generic/arch/x86/include/generated ALL_TARGET = verde all: $(ALL_TARGET) $(ALL_TARGET): verde.cpp verde.h $(CC) -o $(ALL_TARGET) verde.cpp $(CFLAGS) $(ALL_LIBS) $(INCLUDES) clean: rm -f *.o rm -f $(ALL_TARGET) rm -f *.bin rm -f *.csv rm -f *.txt sudo rm -rf CPU* sudo rm -rf RF*
运行make后得到的最新错误信息:
In file included from /usr/include/linux/posix_types.h:5, from /usr/src/linux-headers-5.15.0-1032-realtime/include/uapi/linux/types.h:14, from /usr/src/linux-headers-5.15.0-1032-realtime/include/linux/types.h:6, from /usr/src/linux-headers-5.15.0-1032-realtime/include/uapi/linux/i2c-dev.h:12, from /usr/src/linux-headers-5.15.0-1032-realtime/include/linux/i2c-dev.h:12, from verde.h:54, from verde.cpp:28: verde.cpp: In function ‘void loggingSwitchDetect()’: verde.cpp:929:36: error: invalid conversion from ‘void*’ to ‘char**’ [-fpermissive] 929 | dioValInt = strtol(dioVal, NULL, 16); | ^~~~ | | | void* In file included from /usr/include/c++/11/cstdlib:75, from verde.h:33, from verde.cpp:28: /usr/include/stdlib.h:178:43: note: initializing argument 2 of ‘long int strtol(const char*, char**, int)’ 178 | char **__restrict __endptr, int __base) | ~~~~~~~~~~~~~~~~~~^~~~~~~~
备注:内容来源于stack exchange,提问作者abbyLunasonde
相关产品推荐
相关产品推荐

