我已经在Linux上成功编译了(azure_iot_sdk_c),并且成功运行了这个demo(iothub_ll_c2d_sample),现在我想提取与这个demo相关的源代码,方便迁移到嵌入式Linux平台,怎么办?微软提供的源代码中包含了很多与Linux平台无关的代码,以便兼容更多平台。
我试着把sdk里面的源代码拿出来,删除其他平台的代码,通过文件名判断平台是否相关,但是编译不出来,我想知道这个demo(iothub_ll_c2d_sample)正常运行需要哪些文件,我想把它们拿出来单独编译,这样就可以移植到嵌入式Linux平台上了。
1条答案
按热度按时间mnemlml81#
您可以提取代码示例文件,并通过导入iothub_ll_c2d_sample. c中代码所需的头文件来独立编译它
尽管代码只列出了六个外部引用文件,但一些头文件具有内部依赖关系。通过反向跟踪,我发现了十八个被它们引用的头文件。您必须提供对所有这些文件的本地引用才能使代码成功编译。请找到下图,其中引用了程序需要编译的所有头文件。
您可以从以下URL获取头文件
注意,由于这些文件位于同一目录下,所以在程序中引用头文件时不再需要提供相对路径,可以直接访问它们,如下所示
头文件也是一样。我可以直接引用依赖的头文件而不提供任何相对路径。请找到下面的iothub. h头文件的图像,它引用了umock_c_product. h文件,注意没有相对路径。
如果决定将头文件放在其他目录下,请确保为要编译的代码提供相对路径。