Я компилирую ее с помощью:
Код: Выделить всё
clang -I $ENV:JAVA_HOME\include -I $ENV:JAVA_HOME\include\win32 .\Main.c -o Main.o
clang -shared -o Main.dll .\Main.o
Однако я также использую CMake для компиляции кода.
Мой CMakeLists.txt выглядит следующим образом:
Код: Выделить всё
cmake_minimum_required(VERSION 4.0)
project(something CXX)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_STANDARD 11)
set(CMAKE_BUILD_TYPE RELEASE)
set(LIBRARY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/mylib")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/mylib")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/mylib")
include_directories(build)
include_directories(build/generated)
include_directories(build/generated/sources)
include_directories(build/generated/sources/headers)
include_directories(build/generated/sources/headers/java)
include_directories(build/generated/sources/headers/java/main)
include_directories($ENV{JAVA_HOME}/include)
include_directories($ENV{JAVA_HOME}/include/win32)
add_library(something SHARED
build/generated/sources/headers/java/main/org_qmained_Main.h
something.cpp)
Код: Выделить всё
stdio.hУказанная процедура не найдена
В чем может быть причина этой ошибки?
UPD: Выяснили причину данной ошибки. Мой путь MinGW находился под другими путями. Я переместил MinGW g++ в самый верх переменной среды моего пути, ошибка была исправлена.
Подробнее здесь: https://stackoverflow.com/questions/798 ... make-issue
Мобильная версия