2013-12-13 27 views
5

Vì vậy, tôi đã làm việc trên một dự án C++ trong XCode và đang sử dụng khung bên ngoài (SFML http://www.sfml-dev.org/).dyld: ràng buộc biểu tượng lười biếng không thành công: không thể phân giải biểu tượng

Gần đây tôi đã quyết định tải dự án của mình lên github và sau đó thử kiểm tra dự án trên một máy Mac khác.

Tuy nhiên, khi tôi cố gắng để chạy chương trình của tôi trên máy tính mới, tôi nhận được lỗi này

dyld: lazy symbol binding failed: can't resolve symbol __ZN2sf5ImageC1Ev in 
/Users/myname/Library/Developer/Xcode/DerivedData/projectname- 
fufhzxbkoeekzeayzzlrtvgajvnn/Build/Products/Debug/projectname because dependent 
dylib #3 could not be loaded 

Tôi không có ý tưởng gì này có nghĩa và đã được có một thời gian khó khăn để tìm ra trực tuyến những gì chính xác vấn đề Là.

Trả lời

3

Thông báo lỗi đó cho biết bạn đang liên kết với Thư viện được chia sẻ (dylib) không khả dụng trong đường dẫn thư viện vào thời gian chạy khi bạn đang thực hiện nó.

Nếu bạn đã cài đặt khung ở một trong các vị trí chuẩn (chẳng hạn như /Library/Frameworks) trên bản dựng gốc và ở cùng một vị trí khi bạn kiểm tra và xây dựng lại, thì bạn nên OK. Tuy nhiên, có một số phức tạp để liên kết khuôn khổ có thể gây rắc rối nếu bạn không cẩn thận, đặc biệt nếu bạn sử dụng các khung công tác nhúng. Có vẻ như bạn không xây dựng một ứng dụng, vì vậy tôi cho rằng bạn không nhúng khung công tác.

So sánh các vị trí cài đặt của các khung công tác trên cả máy tính mới và máy tính cũ và nếu chúng không giống nhau, đó có thể là vấn đề của bạn.

Nếu mọi thứ giống như chúng ở cùng một nơi, bạn có thể cần phải kiểm tra DYLD_LIBRARY_PATH (câu hỏi trao đổi ngăn xếp tốt về dyld).

Các vấn đề liên quan