We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
我成功使用了VS 2022编译出来了python3.10下可用的pyd文件,解决dll丢失的问题 复现如下:
cmake_minimum_required(VERSION 3.13) if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") execute_process( COMMAND chcp 65001 ) endif() project(LAppModelWrapper) # set(CMAKE_BUILD_TYPE "Release") message("${CMAKE_BUILD_TYPE}") message(STATUS "Python executable: ${PYTHON_EXECUTABLE}") message(STATUS "Python version: ${PYTHON_VERSION}") set(LIB_NAME LAppModelWrapper) set(PROJECT_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) set(RES_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Resources) # prevent python root dir being shadowed by registry set(Python3_FIND_REGISTRY "NEVER") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /BASE:0x800000000") message("Not found PYTHON_INSTALLATION_PATH in environment variables. \nUse default path.") set(CMAKE_PREFIX_PATH D:/miniconda/envs/anya) if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/static) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Zi") add_compile_options("/utf-8" "/wd4018" "/wd4244" "/wd4996") # add_link_options("/NODEFAULTLIB:LIBCMT" "/DEBUG") add_link_options("/NODEFAULTLIB:LIBCMT") else() set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/static/${CMAKE_BUILD_TYPE}) endif() find_package(Python3 REQUIRED Development) message("Python_LIBRARIES " ${Python_LIBRARIES}) add_subdirectory(Main) # 创建Python扩展模块 add_library(LAppModelWrapper SHARED LAppModelWrapper.cpp) target_link_libraries(LAppModelWrapper PRIVATE Python3::Python live2d) # Configure for Linux / Windows if(CMAKE_SYSTEM_NAME MATCHES "Linux") set(MODULE_NAME lib${LIB_NAME}.so) set(OUTPUT_NAME live2d.so) else(CMAKE_SYSTEM_NAME MATCHES "Windows") set(MODULE_NAME ${LIB_NAME}.dll) set(OUTPUT_NAME live2d.pyd) endif() # Post build commands add_custom_command( TARGET ${LIB_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE_DIR:${LIB_NAME}>/${MODULE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/package/live2d/v3/${OUTPUT_NAME} )
mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. cmake --build . --config Release
这样就解决了问题。 但是我希望官方可以自动化该过程。
The text was updated successfully, but these errors were encountered:
bug: 首次使用 pip install . -v 安装时,无法将编译产物 live2d.pyd/live2d.so 打包 原因:打包过程在编译环节之前,编译前 package/live2d/v3 目录下没有 .pyd/.so 文件
pip install . -v
live2d.pyd
live2d.so
.pyd
.so
应当在 setup.py 中重写这部分逻辑
setup.py
#72
Sorry, something went wrong.
ba9a9fe
No branches or pull requests
我成功使用了VS 2022编译出来了python3.10下可用的pyd文件,解决dll丢失的问题
复现如下:
这样就解决了问题。
但是我希望官方可以自动化该过程。
The text was updated successfully, but these errors were encountered: