Page 1 of 1

First Time Building Bullet

Posted: Thu Jan 11, 2018 3:56 am
by The Floating Brain
Hello! This is my first post on this forum! I hope I don't sound like too much of a novice, but I'm having a few issues
with building bullet for the first time. I am attempting to compile bullet-2.87 (latest release [latest stable release?],
I tried cloning bullet straight from github, and I think I got a few errors -- cant remember precisely) using Visual Studio 2017 on Windows 10, and a
few of the projects within the 0_Bullet3Solution solution seem to have few errors as follows:

App_BulletExampleBrowser seems to have the errors (paraphrased):

Code: Select all

E2474 user-defined literal operator 'btAssert' not found bullet3-2.87\examples\SharedMemory\PhysicsServerCommandProcessor.cpp //(in several locations)

Code: Select all

E0020 identifier "link" is undefined App_BulletExampleBrowser bullet3-2.87\examples\SharedMemory\PhysicsServerCommandProcessor.cpp 2522

Code: Select all

C2065 'link': undeclared identifier App_BulletExampleBrowser bullet3-2.87\examples\SharedMemory\PhysicsServerCommandProcessor.cpp //The difference from the first being, that it occurs several places and the type of error (E [linker] vs. C [build])

VR_GloveHandSimulator seems to generate:

Code: Select all

Error C2065 'link': undeclared identifier App_VRGloveHandSimulator bullet3-2.87\examples\SharedMemory\PhysicsServerCommandProcessor.cpp //on several occasion, including what seem to be subsiquently resulting errors e.g C2228 left of '.m_collider' must have class/struct/union	App_VRGloveHandSimulator bullet3-2.87\examples\SharedMemory\PhysicsServerCommandProcessor.cpp
Likewise with App_RoboticsSimulator:

Code: Select all

Error C2065 'link': undeclared identifier App_VRGloveHandSimulator bullet3-2.87\examples\SharedMemory\PhysicsServerCommandProcessor.cpp //on several occasion, including what seem to be subsiquently resulting errors e.g C2228 left of '.m_collider' must have class/struct/union	App_VRGloveHandSimulator bullet3-2.87\examples\SharedMemory\PhysicsServerCommandProcessor.cpp
And App_PhysiscServer_SharedMemory_VR seems to generate the same as the ladder.

Most of these, the problem with btAssert aside, seem to have to do with this recurring snippet in PhysicsServerCommandProcessor.cpp (which sounds important 0.0)

Code: Select all

#ifdef B3_ENABLE_TINY_AUDIO
				   {
						SDFAudioSource audioSource;
						int urdfLinkIndex = creation.m_mb2urdfLink[link];
						if (u2b.getLinkAudioSource(urdfLinkIndex,audioSource))
						{
							int flags = mb->getLink(link).m_collider->getCollisionFlags();
							mb->getLink(i).m_collider->setCollisionFlags(flags | btCollisionObject::CF_HAS_COLLISION_SOUND_TRIGGER);
							audioSource.m_userIndex = m_data->m_soundEngine.loadWavFile(audioSource.m_uri.c_str());
							if (audioSource.m_userIndex>=0)
							{
								bodyHandle->m_audioSources.insert(link, audioSource);
							}
						}
					}
#endif
Having to do with link, I have thought about going through and simply #undef'ing all the B3_ENABLE_TINY_AUDIO files, but in combination with the other errors, I thought I would make a post instead.

On another note while I have python 2.7 installed I get the error:

Code: Select all

LNK1104	cannot open file 'python27_d.lib' pybullet bullet3-2.87\build3\vs2010\LINK
After quick search through the Python27 directory I did not see python27_d.lib nor did I see too many useful results in my search engine.

I don't usually build my own libraries (for my own projects, if it doesn't have a pre - compiled binary and I cant find one elsewhere, I usually use something else :/ ) and normally have enough trouble just trying to link them :oops: but I'm trying to get better :)

Any help would be much appreciated! Hope I don't sound too much like a novice :oops:

P.s Most of these seem to be build errors with the demos -- is any of this crucial to the functionality of bullet, the problem with python27_d.lib aside?

P.s.s I have a slight concern from reading the bullet webpage, should I wait before I start with bullet until everything is merged and the new C API is complete?

Thanks again! :D