Size: a a a

2020 May 18

p

pepeground_bot in C++ Together 2.0
я не писал на. о, круто.
источник

Nd

Necromant developer in C++ Together 2.0
Теперь получаю другую ошибку
источник

Nd

Necromant developer in C++ Together 2.0
====================[ Build | JNITest | Debug ]=================================
C:\Clion\CLion\ch-0\192.6603.37\bin\cmake\win\bin\cmake.exe --build C:\CppProjects\JNITest\cmake-build-debug --target JNITest -- -j 2
CMake Warning (dev) at cmake-build-debug/CMakeFiles/JNITest.dir/DependInfo.cmake:15:
 Syntax Warning in cmake code at column 10

 Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.

Scanning dependencies of target JNITest
[ 50%] Building CXX object CMakeFiles/JNITest.dir/main2.cpp.obj
C:\CppProjects\JNITest\main2.cpp: In function 'int main()':
C:\CppProjects\JNITest\main2.cpp:9:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    char *jarpath = R"(-Djava.class.path=C:\lastWorkDir\callableJNITest\out\artifacts\callableJNITest_jar\callableJNITest.jar)";
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[100%] Linking CXX executable JNITest.exe
CMakeFiles\JNITest.dir/objects.a(main2.cpp.obj): In function `main':
C:/CppProjects/JNITest/main2.cpp:16: undefined reference to `__imp_JNI_CreateJavaVM'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[3]: *** [CMakeFiles\JNITest.dir\build.make:86: JNITest.exe] Error 1
mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:72: CMakeFiles/JNITest.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:84: CMakeFiles/JNITest.dir/rule] Error 2
mingw32-make.exe: *** [Makefile:117: JNITest] Error 2
источник

Nd

Necromant developer in C++ Together 2.0
cmake сделал:
источник

Nd

Necromant developer in C++ Together 2.0
cmake_minimum_required(VERSION 3.14)
project(CppTest CXX)

set(CMAKE_CXX_STANDARD 17)
set ( CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON )
set(mydir "C:/Program Files/Java/jdk-11.0.3/include")
set(mydir2 "C:/Program Files/Java/jdk-11.0.3/include/win32")
set(mydir3 -L"C:/Program Files/Java/jdk-11.0.3/lib")
include_directories(${mydir})
include_directories(${mydir2})
include_directories(${mydir3})
include_directories(${JNI_INCLUDE_DIRS})
find_package(JNI)
add_executable(JNITest main2.cpp)
источник

Nd

Necromant developer in C++ Together 2.0
@foxcpp0 что не так?
источник

Nd

Necromant developer in C++ Together 2.0
без инклудов не видит jni.h
источник

Nd

Necromant developer in C++ Together 2.0
target_link_libraries(JNITest ${JNI_LIBRARIES})
источник

Nd

Necromant developer in C++ Together 2.0
я в мак файл добавил и оно забилдилось!
источник

Nd

Necromant developer in C++ Together 2.0
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
дебаггер епт
Ща попробовал gdb запустить, так он сам завис, Ctrl+C ничего не делает.
источник

Nd

Necromant developer in C++ Together 2.0
источник

🦊

🦊fox.cpp in C++ Together 2.0
Necromant developer
@foxcpp0 что не так?
например в использовании JNI_INCLUDE_DIRS до определения (find_package)
источник

Nd

Necromant developer in C++ Together 2.0
cmake_minimum_required(VERSION 3.14)
project(CppTest CXX)
set(CMAKE_CXX_STANDARD 17)
set ( CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON )

set(mydir "C:/Program Files/Java/jdk-11.0.3/include")
set(mydir2 "C:/Program Files/Java/jdk-11.0.3/include/win32")
set(mydir3 -L"C:/Program Files/Java/jdk-11.0.3/lib")

include_directories(${mydir})
include_directories(${mydir2})
include_directories(${mydir3})

find_package(JNI)
include_directories(${JNI_INCLUDE_DIRS})

add_executable(JNITest main2.cpp)
target_link_libraries(JNITest ${JNI_LIBRARIES})
источник

Nd

Necromant developer in C++ Together 2.0
А теперь нормально?
источник

🦊

🦊fox.cpp in C++ Together 2.0
да
источник

Nd

Necromant developer in C++ Together 2.0
Jvm.dll по прежнему не видит
источник

🦊

🦊fox.cpp in C++ Together 2.0
положи его рядом с исполняемым файлом
источник

🦊

🦊fox.cpp in C++ Together 2.0
это не линукс, где всё само находится по стандартным путям
источник

🦊

🦊fox.cpp in C++ Together 2.0
а вообще говоря, я хрен знает, разве JNI не подразумевает, что это JVM должен загружать твой код, а не наоборот?
источник