Tôi là một lập trình viên hobbyist đang cố gắng tích hợp SteamworksForPython API vào trò chơi dựa trên Python. API này là một trình bao bọc Python của Steamworks API, chỉ chính thức hỗ trợ C++. Tôi đang làm việc trên MacOS Sierra 10.12.6.Tạo tệp dylib trên MacOS để sử dụng với trình bao bọc Python của Steamworks API
mù quáng theo các tài liệu, tôi đã làm những điều sau đây:
- Tôi đã tải repo SteamworksForPython.
- Tôi đã thêm thư mục tiêu đề hơi nước từ SDK Steamworks (/ sdk/public/steam) vào repo đó.
- Tôi đã thêm vào đó repo tệp Steam API phù hợp với hệ điều hành của tôi (trong trường hợp của tôi, libsteam_api.dylib từ/sdk/redistributable_bin/osx32).
Bước tiếp theo được liệt kê trong tài liệu là tạo tệp dylib mới. Thật không may, các bước để làm điều này chưa được mô tả cho MacOS.
Nhìn vào quá trình cho Linux và Windows, có vẻ như tôi cần tạo tệp thư viện động này bằng tệp SteamworksPy.cpp của repo và tệp tiêu đề steam_api.h từ SDK Steamworks.
Tôi đã nghiên cứu cách tạo tệp dylib bằng Xcode và hiện đang cố gắng thực hiện. Quá trình này có vẻ tương tự như quy trình được mô tả bởi documentation dành cho Windows bằng Visual Studio.
Tôi đã làm như sau:
- Tôi đã tạo ra một dự án Xcode mới của loại đồng bằng C++ thư viện năng động.
- Tôi đã thêm SteamworksPy.cpp vào Danh sách các nguồn biên dịch.
- Tôi đã thêm steam_api.h vào danh sách Tiêu đề (dưới công khai, không riêng tư hoặc dự án).
- Tôi đã thêm libsteam_api.dylib vào phần Liên kết nhị phân với thư viện.
Tôi gặp lỗi khi cố xây dựng, tuy nhiên. Đây là một ảnh chụp màn hình:
Và đây là một ảnh chụp màn hình rõ ràng hơn trong những mối liên kết lỗi:
Sau khi đọc this, this, và this, tôi nghĩ rằng vấn đề là Xcode không biết nơi tìm thư viện mà tôi đang cố gắng liên kết, vì vậy tôi cần phải nói nó ở đâu để xem. Điều này phải đơn giản, nhưng tôi không thể quản lý để làm điều đó.
Có ai có thể cho tôi lời khuyên về cách tiến hành không?
câu hỏi tương tự mà là hữu ích, nhưng không đưa tôi đến với một giải pháp:
- How do I create a dynamic library (dylib) with Xcode?
- Building and Using a DYLIB in Xcode
- ld: library not found
- ld: library not found for -lgsl
- xcode library not found