سؤال

أواجه مشكلة في الحصول على مشروعي الربط مع PhysX المكتبات على 64 بت الجهاز.وهي تجمع ما يرام تماما.لقد استعملت نفس الإعدادات على جهاز 32 بت آلة (مع استثناء بعض التصحيح الأعلام) الذي يربط ما يرام تماما.هنا هو بناء الإخراج:

g++ -L/usr/lib/PhysX/v2.8.1-L/usr/lib -o"PhysXTest" ./الرئيسية.س-lPhysXLoader -lglut

/usr/bin/ld:تخطي تتعارض /usr/lib/libPhysXLoader.لذلك عند البحث عن -lPhysXLoader

/usr/bin/ld:تخطي تتعارض /usr/lib/الخليج/x86_64-linux-gnu/4.2.3/../../../../lib/libPhysXLoader.لذلك عند البحث عن -lPhysXLoader

usr/bin/ld:تخطي تتعارض /usr/lib/../lib/libPhysXLoader.لذلك عند البحث عن -lPhysXLoader

/usr/bin/ld:تخطي تتعارض /usr/lib/الخليج/x86_64-لينكس-gnu/4.2.3/../../../libPhysXLoader.لذلك عند البحث عن -lPhysXLoader

/usr/bin/ld:تخطي تتعارض /usr/bin/../lib/libPhysXLoader.لذلك عند البحث عن -lPhysXLoader

/usr/bin/ld:تخطي تتعارض /usr/lib64/libPhysXLoader.لذلك عند البحث عن -lPhysXLoader

/usr/bin/ld:تخطي تتعارض /usr/lib/libPhysXLoader.لذلك عند البحث عن -lPhysXLoader

/usr/bin/ld:لا يمكن العثور على -lPhysXLoader

كما لو كان من أي نتيجة ، لقد سبق اقامة روابط رمزية إلى usr/lib.لا أحد يعرف ما الذي يجري ؟ واسمحوا لي أن أعرف إذا كنت بحاجة إلى أي مزيد من التفاصيل.كما هو الحال دائما, شكرا مقدما.

هل كانت مفيدة؟

المحلول

وكما قال روبرت غولد، لا يمكنك ربط معا 32 و 64 بت الأشياء أو المكتبات المشتركة. هم ببساطة لا لينك متوافق.

ومنذ لديك فقط 32 بت فسإكس، أنت <م> يجب تجميع كافة التعليمات البرمجية الأخرى التي سترتبط في تنفيذ (main.o في المثال الخاص بك) في وضع 32 بت (باستخدام -m32 علم دول مجلس التعاون الخليجي)، <م> و تثبيت إصدارات 32 بت من جميع المكتبات الأخرى (تخمة، libGL، libX11، LIBC، الخ.).

وريدهات هذا يجعل من السهل - أنها توفر 32 و 64 بت حزم لكل شيء، وفرقوا بينهم في / البيرة / lib32 و / البيرة / lib64 ...

وAFAICT، أوبونتو لا: كلا AMD64 و i386، حزم تحتوي على /usr/lib/libglut.so.3.8.0. سوف تحتاج إلى تحميل إصدارات 32 بت من كل شيء، وتثبيتها في / البيرة / lib32 بدلا من / البيرة / ليب "باليد".

نصائح أخرى

يبدو أن PhysiX sharedobject جمعت في 32bit.لا يمكنك ربط 32bit .حتى أن 64bit تطبيق قزم مختلفة.قد قمت بتحميل 64bit نسخة من المكتبة ؟ أنا لست متأكدا حتى إذا PhysX وقد 64bit الدعم على الرغم من.لم آخر مرة نظرت لكن ذلك كان ما يقرب من 2 سنوات حتى الآن.

تحرير: PhysX يستخدم بعض جادة مجموعة التصنيع والتجميع وغيرها منخفضة جدا على مستوى الذاكرة الحيل التي تعتمد على 32bit العمارة.فإنه يأخذ قدرا كبيرا من العمل للوصول إلى تشغيل 64bit.منذ الآن أنها تهدف إلى وحدة التحكم صانعي اللعبة (صحيح دفع العملاء) و لا وحدة 64bit حتى الآن و ربما يكون بعض الوقت قبل الإفراج عن 64 بت, حتى أنك لن تكون قادرة على الرابط, و حتى إذا لم خدعة مترجم رابط بينهم ، فإنه تفريغ الأساسية على الفور

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top