Итак, я пытаюсь заставить библиотеку Canon EDSDK работать с cpp на моем Jetson, но я просто не могу в этом разобраться. Если вы знаете что-то, что может помочь, дайте мне знать!
Я также не получаю никаких сообщений об ошибках в CLion, только при сборке? есть мысли?
os: ubuntu 20.04 focus
машина: aarch64 (jetson Orin Nano 8 ГБ)
Я использую последнюю версию Canon EDSDK со своего сайта.
ошибка:
Код: Выделить всё
FAILED: CMakeFiles/InspectorMain.dir/main.cpp.o
/usr/bin/c++ -I/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header -I/home/inspector/CLionProjects/InspectorMain/Lib -isystem /usr/local/include/opencv4 -g -fdiagnostics-color=always -MD -MT CMakeFiles/InspectorMain.dir/main.cpp.o -MF CMakeFiles/InspectorMain.dir/main.cpp.o.d -o CMakeFiles/InspectorMain.dir/main.cpp.o -c /home/inspector/CLionProjects/InspectorMain/main.cpp
In file included from /home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:31,
from /home/inspector/CLionProjects/InspectorMain/main.cpp:4:
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDKTypes.h:122:9: error: ‘__int64’ does not name a type; did you mean ‘__rintf64’?
122 | typedef __int64 EdsInt64;
| ^~~~~~~
| __rintf64
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDKTypes.h:123:29: error: expected initializer before ‘EdsUInt64’
123 | typedef unsigned __int64 EdsUInt64;
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDKTypes.h:1316:5: error: ‘EdsUInt64’ does not name a type; did you mean ‘EdsUInt32’?
1316 | EdsUInt64 maxCapacity;
| ^~~~~~~~~
| EdsUInt32
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDKTypes.h:1317:5: error: ‘EdsUInt64’ does not name a type; did you mean ‘EdsUInt32’?
1317 | EdsUInt64 freeSpaceInBytes;
| ^~~~~~~~~
| EdsUInt32
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDKTypes.h:1327:5: error: ‘EdsUInt64’ does not name a type; did you mean ‘EdsUInt32’?
1327 | EdsUInt64 size;
| ^~~~~~~~~
| EdsUInt32
In file included from /home/inspector/CLionProjects/InspectorMain/main.cpp:4:
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:574:42: error: ‘EdsUInt64’ has not been declared
574 | EdsUInt64 inReadSize,
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:732:29: error: ‘EdsUInt64’ was not declared in this scope; did you mean ‘EdsUInt32’?
732 | EdsUInt64 inBufferSize,
| ^~~~~~~~~
| EdsUInt32
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:733:41: error: expected primary-expression before ‘*’ token
733 | EdsStreamRef* outStream );
| ^
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:733:53: error: ‘outStream’ was not declared in this scope
733 | EdsStreamRef* outStream );
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:733:63: error: expression list treated as compound expression in initializer [-fpermissive]
733 | EdsStreamRef* outStream );
| ^
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:761:15: error: ‘WCHAR’ does not name a type
761 | const WCHAR* inFileName,
| ^~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:787:17: error: ‘EdsUInt64’ has not been declared
787 | EdsUInt64 inBufferSize,
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:837:17: error: ‘EdsUInt64’ has not been declared
837 | EdsUInt64 inReadSize,
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:839:17: error: ‘EdsUInt64’ has not been declared
839 | EdsUInt64* outReadSize );
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:861:17: error: ‘EdsUInt64’ has not been declared
861 | EdsUInt64 inWriteSize,
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:863:17: error: ‘EdsUInt64’ has not been declared
863 | EdsUInt64* outWrittenSize );
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:890:17: error: ‘EdsInt64’ has not been declared
890 | EdsInt64 inSeekOffset,
| ^~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:910:17: error: ‘EdsUInt64’ has not been declared
910 | EdsUInt64* outPosition );
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:928:17: error: ‘EdsUInt64’ has not been declared
928 | EdsUInt64* outLength );
| ^~~~~~~~~
/home/inspector/CLionProjects/InspectorMain/Lib/EDSDK/Header/EDSDK.h:952:17: error: ‘EdsUInt64’ has not been declared
952 | EdsUInt64 inWriteSize,
| ^~~~~~~~~
Код: Выделить всё
cmake_minimum_required(VERSION 3.5)
project(InspectorMain)
# Set CUDA directory
set(CUDA_DIR /usr/local/cuda)
set(OpenCV_DIR /usr/local/include/opencv4/opencv2)
find_package(OpenCV 4 REQUIRED)
# Add executable
add_executable(InspectorMain
main.cpp
headerFiles/Stitcher.h
headerFiles/camera.h
headerFiles/general.h
camera.cpp
)
# Include directories
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/Lib/EDSDK/Header)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/Lib)
# Link OpenCV libraries
target_link_libraries(InspectorMain ${OpenCV_LIBS})
# Link with the shared library (libEDSDK.so)
target_link_libraries(InspectorMain ${CMAKE_CURRENT_SOURCE_DIR}/Lib/EDSDK/ARM64/libEDSDK.so)
Источник: https://stackoverflow.com/questions/781 ... n-i-fix-it
Мобильная версия