Fix for iT2D Problem: Base SDK Missing
by Edward F. Maurina III · 07/17/2010 (10:37 pm) · 11 comments
As xCode versions, iDevice SDKs, and the iT2D SDK change it is normal to experience issues getting projects to compile. One problem some people encounter is the "Base SDK Missing" issue. This resource outlines steps to fix it.
(Extracted from this forum post.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Complete Steps to Solve Follow ==>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Problem Encountered: No build targets, only 'Base SDK Missing'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Steps to fix for IPHONE SIMULATOR TARGET:
1. Uninstall OLD xCode by opening terminal and typing this: sudo /Developer/Library/uninstall-devtools –mode=all
2. Restart machine when step #1 is finished.
3. Download latest xCode + iDevice SDK
4. Install as per usual (well documented in iT2D docs)
5. Open one of the test iPhone projects
6. Verify that you have no targets and the problem you are trying to fix is 'Base SDK Missing'
7. Select 'Project -> Set Active Target -> iTorque2D_sim'
8. Select 'Project -> Edit Project Settings'
9. In the dialog that pops up, change the value for 'Architectures->Base SDK' to "iPhone Simulator 4.0" (version number may differ, choose the one you want and stick with it for the rest of the steps below).
10. In the same dialog as step #9, change the value for 'Deployment -> iPhone OS Deployment Target' to a value that will work with the latest release of iT2D.
-- For iT2D 1.4, deploying to iPhone OS version 3.0 will work.
-- This will probably change in the future.
11. Select 'Project -> Edit Active Target iTorque2D_sim'
12. In the dialog that pops up, change the value for, change 'Architectures->Base SDK' to "iPhone Simulator 4.0"
13. Open file iPhoneTime.mm
14. After the existing includes, add this code:
15. Optionally apply other settings discussed in responses to this thread.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Steps to fix for IPHONE SIMULATOR DEVICE:
Same as above, but in each step select 'device' values where an option exists.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




(Extracted from this forum post.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Complete Steps to Solve Follow ==>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Problem Encountered: No build targets, only 'Base SDK Missing'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Steps to fix for IPHONE SIMULATOR TARGET:
1. Uninstall OLD xCode by opening terminal and typing this: sudo /Developer/Library/uninstall-devtools –mode=all
2. Restart machine when step #1 is finished.
3. Download latest xCode + iDevice SDK
4. Install as per usual (well documented in iT2D docs)
5. Open one of the test iPhone projects
6. Verify that you have no targets and the problem you are trying to fix is 'Base SDK Missing'
7. Select 'Project -> Set Active Target -> iTorque2D_sim'
8. Select 'Project -> Edit Project Settings'
9. In the dialog that pops up, change the value for 'Architectures->Base SDK' to "iPhone Simulator 4.0" (version number may differ, choose the one you want and stick with it for the rest of the steps below).
10. In the same dialog as step #9, change the value for 'Deployment -> iPhone OS Deployment Target' to a value that will work with the latest release of iT2D.
-- For iT2D 1.4, deploying to iPhone OS version 3.0 will work.
-- This will probably change in the future.
11. Select 'Project -> Edit Active Target iTorque2D_sim'
12. In the dialog that pops up, change the value for, change 'Architectures->Base SDK' to "iPhone Simulator 4.0"
13. Open file iPhoneTime.mm
14. After the existing includes, add this code:
#include <unistd.h>-- This fixes the compile problem with usleep()
15. Optionally apply other settings discussed in responses to this thread.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Steps to fix for IPHONE SIMULATOR DEVICE:
Same as above, but in each step select 'device' values where an option exists.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




About the author
#2
For some reason my C/C++ Compiler version was set to GCC 4.0 instead of GCC 4.2 and I was having weird compilation errors.
08/15/2010 (2:24 pm)
Thanks Edward very useful.For some reason my C/C++ Compiler version was set to GCC 4.0 instead of GCC 4.2 and I was having weird compilation errors.
#3
08/15/2010 (8:41 pm)
I Have used these steps before, with success. However, I have had to load in, reset these for a new project, and I can not find "iPhone OS Deployment Target" only Mac OSX Deployment Target. Is there anyway to change this?
#4
08/30/2010 (9:34 am)
If you don't have the iPhone OS Deployment Target don't worry about it. I don't have it and it works just fine.
#5
XCode version: 3.2.3 64 bits
MacOSx 10.6.4
ITgb: 1.7.4
09/09/2010 (9:09 am)
Hello after making all the steps above, xcode compiler throws 21 exception, and still can´t get itgb to work. this is frustrating.XCode version: 3.2.3 64 bits
MacOSx 10.6.4
ITgb: 1.7.4
#6
09/10/2010 (11:47 am)
Update: I changed the compiler to GCC 4.2 and that worked for simulator though there´s a lot of warnings from compiler.
#7
XCode version: 3.2.4 or ITGB who´s fault??
09/11/2010 (6:07 pm)
just trying to follow the Aquarium tutorial. Once again a bunch of compiler errors, unable to deploy to device nor simulator. I never saw such unstable code!!!! what a headache!!!!!!XCode version: 3.2.4 or ITGB who´s fault??
#8
02/03/2011 (9:15 pm)
Hi, i have same problem. I follow all step, but dont work, what i do to work?
#9
I´m not in front of my MacBook right now, but I suggest you to start from a new clean iTorque Project, save your scene/level using the suggested name by iTorque (I think there´s a bug where it always search for that unamedlevel or something), and test it again using the suggestion above, I mean changing targeting for release and debug for iOS version and SDK you have. If it compiles and you can see the GG Splash screen in your iPhone or Simulator then you´re good to go building your game, this is like creating a sandbox to make sure everything is settup properly. Once you get used to make all the changes for each project the headache goes away. :P
I´m glad GG is back
02/04/2011 (4:40 am)
Quote:Hello dairan
Hi, i have same problem. I follow all step, but dont work, what i do to work?
I´m not in front of my MacBook right now, but I suggest you to start from a new clean iTorque Project, save your scene/level using the suggested name by iTorque (I think there´s a bug where it always search for that unamedlevel or something), and test it again using the suggestion above, I mean changing targeting for release and debug for iOS version and SDK you have. If it compiles and you can see the GG Splash screen in your iPhone or Simulator then you´re good to go building your game, this is like creating a sandbox to make sure everything is settup properly. Once you get used to make all the changes for each project the headache goes away. :P
I´m glad GG is back
#10
These steps still work, but some of the items have been moved around.
That said, I'll take some time this weekend to puzzle out the modified steps for the latest SDK. Then, I'll label what SDK version (xCode version + iOS version) it is for.
Note: For users who are mid-way through developing a product. Unless you absolutely, I suggest not updated your xCode+iOS till you're ready to start beta testing. If you're like me it just inserts a long period of goofing around trying to get the compiler to work and upload again.
For new users, well... you've got no option but to figure it out.
Again, let me have some time and I'll put up an updated/simplified set of steps this weekend.
02/04/2011 (9:26 am)
@All - Unfortunately, with every new release of XCode + iOS updates, the organization and content of the 'project info' dialog changes a little.These steps still work, but some of the items have been moved around.
That said, I'll take some time this weekend to puzzle out the modified steps for the latest SDK. Then, I'll label what SDK version (xCode version + iOS version) it is for.
Note: For users who are mid-way through developing a product. Unless you absolutely, I suggest not updated your xCode+iOS till you're ready to start beta testing. If you're like me it just inserts a long period of goofing around trying to get the compiler to work and upload again.
For new users, well... you've got no option but to figure it out.
Again, let me have some time and I'll put up an updated/simplified set of steps this weekend.
#11
For now, here is a summarized version.
TIP #1 - Back your work up FIRST. i.e. Make a copy of everything just inc case.
TIP #2 - Start with device, not simulator, then if the simulator has no base target, go fix it. Setting up the simulator first may cause problems with your project configuration.
Assuming starting w/ a fresh project.
0. Be sure your device is plugged in and provisioned.
1. Project -> Set Active Target -> *device
2. Project -> Set Active Executable -> *device
3. Project -> Edit Project Settings "*device" (pops up dialog)
4. Build Tab in dialog ->
5. ... -> Architectures (group) -> Base SDK -> Latest iOS (*)
6. ... -> Compiler Version (group) -> C/C++ Compiler Version -> System Default
7. Project -> Edit Active Target "*device" (pops up dialog)
8. Build Tab in dialog ->
9. ... -> Architectures (group) -> Base SDK -> Latest iOS (*)
10. ... -> Compiler Version (group) -> C/C++ Compiler Version -> System Default
Now, go select a different build (release, debug, etc. as long as it isn't the one you're currently using.)
This should cause the Base SDK to show up in the drop down.
Again, sorry for delay and terseness, but I feel pretty crummy right now.
-Ed
02/07/2011 (9:18 pm)
@All - I worked out the solution, but haven't had time to post. I've been struggling with the Flu. Sorry for the delay.For now, here is a summarized version.
TIP #1 - Back your work up FIRST. i.e. Make a copy of everything just inc case.
TIP #2 - Start with device, not simulator, then if the simulator has no base target, go fix it. Setting up the simulator first may cause problems with your project configuration.
Assuming starting w/ a fresh project.
0. Be sure your device is plugged in and provisioned.
1. Project -> Set Active Target -> *device
2. Project -> Set Active Executable -> *device
3. Project -> Edit Project Settings "*device" (pops up dialog)
4. Build Tab in dialog ->
5. ... -> Architectures (group) -> Base SDK -> Latest iOS (*)
6. ... -> Compiler Version (group) -> C/C++ Compiler Version -> System Default
7. Project -> Edit Active Target "*device" (pops up dialog)
8. Build Tab in dialog ->
9. ... -> Architectures (group) -> Base SDK -> Latest iOS (*)
10. ... -> Compiler Version (group) -> C/C++ Compiler Version -> System Default
Now, go select a different build (release, debug, etc. as long as it isn't the one you're currently using.)
This should cause the Base SDK to show up in the drop down.
Again, sorry for delay and terseness, but I feel pretty crummy right now.
-Ed

Torque 3D Owner Dillon Sinnott
"10. In the same dialog as step #9, change the value for 'Deployment -> iPhone OS Deployment Target' to a value that will work with the latest release of iT2D."
I don't see the iPhone OS Deployment Target, just a Mac OS X deployment target? Maybe that's because its a simulator step. I will check to see if it still works with that value set to compiler default.