BUILD_TYPE = debug
PLATFORM_CC = /usr/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc
PLATFORM_AR = /usr/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-ar
PLATFORM_OS = linux
FEATURE_MQTT_COMM_ENABLED = y
FEATURE_MQTT_DIRECT = y
FEATURE_MQTT_DIRECT_NOTLS = n
FEATURE_COAP_COMM_ENABLED = y
FEATURE_OTA_ENABLED = y
FEATURE_OTA_SIGNAL_CHANNEL = COAP
x86上已经编译过了,交叉编译bin目录下没有生成可执行文件。
/home/book/aliyun/iotkit-embedded-RELEASED_V2_01_20171010/output/release
+-- bin
+-- src
| +-- Makefile
| +-- http-example.c
| +-- coap-example.c
| +-- mqtt-example.c
+-- include
| +-- iot-sdk
| | +-- imports
| | | +-- iot_import_dtls.h
| | | +-- iot_import_ota.h
| | | +-- iot_import_coap.h
| | +-- exports
| | | +-- iot_export_shadow.h
| | | +-- iot_export_http.h
| | | +-- iot_export_ota.h
| | | +-- iot_export_mqtt.h
| | | +-- iot_export_coap.h
| | | +-- iot_export_errno.h
| | +-- iot_export.h
| | +-- iot_import.h
+-- lib
| +-- libiot_sdk.a
19.67% utils_httpc.o | utils 16344 / 83092
16.70% utils_sha1.o | utils 13876 / 83092
11.70% utils_md5.o | utils 9724 / 83092
7.20% lite-utils_testsuites.o | utils 5980 / 83092
5.99% utils_list.o | utils 4976 / 83092
5.45% json_token.o | utils 4528 / 83092
5.24% string_utils.o | utils 4352 / 83092
5.01% json_parser.o | utils 4160 / 83092
4.94% utils_net.o | utils 4108 / 83092
4.92% utils_epoch_time.o | utils 4088 / 83092
BUILD_TYPE = debug
貌似这样编译只是编译出了对应的静态库,而没有可执行文件。可执行文件需要参考output/release/src/Makefile进行再次编译。
然而我照我说的这种方法编译的时候发现缺少找一个叫libiot_platform.a的静态库。 不知道有没有编译通过的小伙伴
接着上面找不到libiot_platform.a的问题,解决方法是将HAL_OS_linux.c HAL_TCP_linux.c HAL_UDP_linux.c拿出来单独编译成静态库,同时在iot_import.h中添加#define IOTX_WITHOUT_TLS宏(如果不添加该宏则需要另外编译ssl部分+mbedtls),最后在编译output/release/src/下的对应例子时连接该静态库即可
修改make.settings里的CC、AR就可以实现交叉编译了么?
为什么我增加了之后,编译的时候还是用的Ubuntu下的gcc和ar?
BUILD_TYPE = debug
PLATFORM_OS = linux
PLATFORM_CC = /opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-cpp
PLATFORM_AR = /opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/arm-hisiv300-linux-uclibcgnueabi-ar
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。