{"id":7804,"date":"2022-11-19T10:08:09","date_gmt":"2022-11-19T02:08:09","guid":{"rendered":"http:\/\/xinyiworld.top\/wordpress_it\/?p=7804"},"modified":"2023-07-24T16:31:32","modified_gmt":"2023-07-24T08:31:32","slug":"v4l2rtspserver-%e4%ba%a4%e5%8f%89%e7%bc%96%e8%af%91","status":"publish","type":"post","link":"http:\/\/xinyiworld.top\/wordpress_it\/?p=7804","title":{"rendered":"v4l2rtspserver \u4ea4\u53c9\u7f16\u8bd1"},"content":{"rendered":"<p>\u9879\u76ee\u5730\u5740\uff1a<a href=\"https:\/\/github.com\/mpromonet\/v4l2rtspserver\">https:\/\/github.com\/mpromonet\/v4l2rtspserver<\/a><\/p>\n<p>\u901a\u8fc7apt-get install \u5b89\u88c5 <code>liblivemedia-dev\u3001liblog4cpp5-dev\u3001libasound2-dev<\/code>\u7b49\u5e93\u3002<\/p>\n<p>\u6709\u4e9b\u4f9d\u8d56\u7684\u5e93\u7f16\u8bd1\u673a\u4e0a\u627e\u4e0d\u5230\uff0c\u4e5f\u8981\u4e0b\u8f7d\u6e90\u7801\u4ea4\u53c9\u7f16\u8bd1\u540e\u518d\u4f9d\u8d56\uff1a<\/p>\n<pre><code class=\"language-bash\"># libssl\ntarget_link_libraries(${PROJECT_NAME}  ${PROJECT_SOURCE_DIR}\/libs3rd\/libssl.a)\n\n# libalsa\ntarget_link_libraries(${PROJECT_NAME}  ${PROJECT_SOURCE_DIR}\/libs3rd\/libasound.a)\nadd_definitions(-DHAVE_ALSA)\n# \u4f9d\u8d56libasound.a\u65f6\u5fc5\u987b\u4f9d\u8d56\u4e0b\u9762\u7684\u5e93\uff0c\u5426\u5219\u62a5\u9519https:\/\/code84.com\/289048.html\ntarget_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS} )\n\n# liblog4cpp\ntarget_link_libraries(${PROJECT_NAME}  ${PROJECT_SOURCE_DIR}\/libs3rd\/liborocos-log4cpp.a)\nadd_definitions(-DHAVE_LOG4CPP)<\/code><\/pre>\n<h4>\u6392\u96f7<\/h4>\n<ul>\n<li>CMakeLists\u91cc\u8bbe\u7f6e\u4ea4\u53c9\u7f16\u8bd1\u53d8\u91cf\u65e0\u6548<\/li>\n<\/ul>\n<p>\u5c31\u7b97\u5728CMakeLists\u91cc\u8bbe\u7f6e\u4ea4\u53c9\u7f16\u8bd1\u53d8\u91cf\u4e5f\u8981\u5728project\u5b9a\u4e49\u4e4b\u540e\u8bbe\u7f6e\uff0c\u5426\u5219\u65e0\u6548\u3002<\/p>\n<p>\u901a\u8fc7\u547d\u4ee4\u884c\u8bbe\u7f6e\u4ea4\u53c9\u7f16\u8bd1\u53d8\u91cf<br \/>\n<a href=\"https:\/\/www.thinbug.com\/q\/17355798\">https:\/\/www.thinbug.com\/q\/17355798<\/a><\/p>\n<pre><code class=\"language-bash\">cmake clean -DCMAKE_C_COMPILER=`which aarch64-linux-gnu-gcc-8`  -DCMAKE_CXX_COMPILER=`which aarch64-linux-gnu-g++-8` ..<\/code><\/pre>\n<ul>\n<li>\/usr\/lib\/gcc-cross\/aarch64-linux-gnu\/9\/..\/..\/..\/..\/aarch64-linux-gnu\/bin\/ld: \/usr\/lib\/x86_64-linux-gnu\/libssl.so: error adding symbols: file in wrong format<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">\/etc\/opt\/pkg\/clion-2022.1.3\/bin\/cmake\/linux\/bin\/cmake --build \/home\/xinyi\/code\/cplus\/mgylived\/cmake-build-arm_linux_gnu --target v4l2rtspserver -j 6\n[1\/1] Linking CXX executable v4l2rtspserver\nFAILED: v4l2rtspserver \n: &amp;&amp; \/usr\/bin\/aarch64-linux-gnu-g++ -O3 -DNDEBUG -rdynamic CMakeFiles\/v4l2rtspserver.dir\/main.cpp.o -o v4l2rtspserver  -Wl,-rpath,\/usr\/lib\/x86_64-linux-gnu:  liblibv4l2rtspserver.a  -Wl,-Bdynamic  \/usr\/lib\/x86_64-linux-gnu\/libssl.so  -Wl,-Bstatic  ..\/alsa-lib-1.2.3.2\/build\/lib\/libasound.a  -ldl  v4l2wrapper\/libv4l2wrapper.a  -pthread  -Wl,-Bdynamic  \/usr\/lib\/x86_64-linux-gnu\/libcrypto.so  -Wl,-Bstatic &amp;&amp; :\n\/usr\/lib\/gcc-cross\/aarch64-linux-gnu\/9\/..\/..\/..\/..\/aarch64-linux-gnu\/bin\/ld: \/usr\/lib\/x86_64-linux-gnu\/libssl.so: error adding symbols: file in wrong format\ncollect2: error: ld returned 1 exit status\nninja: build stopped: subcommand failed.\n<\/code><\/pre>\n<p>\u6ca1\u6709\u660e\u767d\u4e3a\u4ec0\u4e48aarch\u7684\u4ea4\u53c9\u7f16\u8bd1\u5668\u4f1a\u53bbx86\u91cc\u641c\u7d22\u5e93\uff1f\u660e\u660e\u8def\u5f84\u90fd\u6307\u5b9a\u4e86<br \/>\n<img src=\"http:\/\/xinyiworld.top\/wordpress_it\/wp-content\/uploads\/2022\/11\/D3714D77-F723-4614-A80A-75B66258FD6D.png\" alt=\"\" \/><\/p>\n<p>\u4f46\u662f\u5982\u679c\u628a\u6e90\u7801\u91ccCMakeLists.txt\u91cc\u7b2c65\u884c\u7684<code>find_package(OpenSSL QUIET)<\/code>\u6ce8\u91ca\u6389\uff0c\u5c31\u4e0d\u4f1a\u62a5\u8fd9\u4e2a\u9519\u8bef\u4e86\u3002<\/p>\n<button class=\"simplefavorite-button\" data-postid=\"7804\" data-siteid=\"1\" data-groupid=\"1\" data-favoritecount=\"0\" style=\"\">\u6536\u85cf <i class=\"sf-icon-star-empty\"><\/i><\/button>","protected":false},"excerpt":{"rendered":"<p>\u9879\u76ee\u5730\u5740\uff1ahttps:\/\/github.com\/mpromonet\/v4l2rtspserver \u901a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[711],"tags":[],"_links":{"self":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/7804"}],"collection":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7804"}],"version-history":[{"count":4,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/7804\/revisions"}],"predecessor-version":[{"id":10119,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=\/wp\/v2\/posts\/7804\/revisions\/10119"}],"wp:attachment":[{"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7804"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/xinyiworld.top\/wordpress_it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}