cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

ryta1203
Journeyman III

Brook and Visual Studio

I am having a problem with Brook+ building/compiling in VS.

I have installed VS2008 and then installed the Firestream SDK (CAL and Brook+). Following the Programming Guide (that came with the SDK) for Brook+ I used the "four" step process to add the needed lines to the .br file properties.

Essentially here are my problems:

http://www.gpgpu.org/forums/viewtopic.php?t=5080


http://www.gpgpu.org/forums/viewtopic.php?t=5085


Unfortunately it doesn't seem that the gpgpu.org forum members have much experience in this matter and the documentation for the Firestream SDK is extremely limited. Also, it unfortunately appears that the SDK is only available for WinXP, so I am using VS and building with "Solutions" (not "make"). I don't understand not using VS if you have to use Windows, why command line it?

Isn't the point of having a WinXP release to minimize the difficulty for non-CS personnel to get the software up and running? Or is it just because Brook has a better DX backend than a GL backend? As it stands right now using Brook is pointless, IMO due to the difficulty of getting it to run (I can't even get the samples to build and execute properly), since CAL seems to run fine out of the box.

I'm sure it's not a "Brook" thing so much as a "Brook in VS" thing.

Anyone else having these problems?
0 Likes
38 Replies
MicahVillmow
Staff
Staff

Brook and Visual Studio

Ryta,
I am sorry that you are having trouble with Brook+ building in VS2008. However, according to the BrookPlusProgrammingGuide.pdf in the doc directory, the System Requirements state that Visual Studio 2005 is the supported version. As we haven't tested with VS2008 yet, we cannot guarantee that it works. Visual Studio 2005 should work out of the box.
As for the command line, not everyone uses the solutions file, like myself, and prefer the command line even when using Windows. So both options are available to give people choice.
We currently have planned support for 32 and 64 bit Vista, Linux and Windows in the next release.

Give it a shot with VS2005 and let use know if there are any problems there.
0 Likes
michael_chu
Staff
Staff

Brook and Visual Studio

Just a slight correction...

Our next release will have Win XP 32/64 support but not Win Vista 32/64 support.
0 Likes
MfA
Journeyman III

Brook and Visual Studio

Replied to the first post on gpgpu.com with what I did to get the brook+ examples to build with VS2008.
0 Likes
ryta1203
Journeyman III

Brook and Visual Studio

Thanks MfA and Michael and Micah for all the help. I guess I will be downgrading to VS 2005 for now. It would be nice in the future to be able to use 2008 (and any other newer versions) with this new SDK.

Thanks again.
0 Likes
ryta1203
Journeyman III

Brook and Visual Studio

After installing MS VS 2005 and trying to run Brook sample "accumulate" I still get the same problem; HOWEVER, these are now "warnings" instead of "errors":


1>Linking...
1>brook_d.lib(brt.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(logger.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(calstream.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(calruntime.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(gpuiterator.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(gpustream.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(gpuruntime.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(gpukernel.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(cpuwritequery.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(cpuwritemask.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(cpuiter.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(cpuruntime.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(cpukernel.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>brook_d.lib(cpustream.obj) : warning LNK4099: PDB 'vc80.pdb' was not found with 'C:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\\sdk\lib\\brook_d.lib' or at 'c:\Program Files\AMD\BROOKPLUS SDK v1.00.0_alpha\samples\bin\xp_x86_32\vc80.pdb'; linking object as if no debug info
1>Embedding manifest...


Any ideas as to what is wrong? What do I need to add/remove/etc..? Thanks.
0 Likes
MicahVillmow
Staff
Staff

Brook and Visual Studio

ryta1203,
The issue here is that it is linking against the debug version of the library, however, the debug database, "vc80.pdb", isn't there for the requested object files. Since these are only warnings, there should be no problem with the running of the program and can be safely ignored.
0 Likes
ryta1203
Journeyman III

Brook and Visual Studio

Micah,

So is this a problem with Brook+ or a problem with something I didn't install/setup?
0 Likes
michael_chu
Staff
Staff

Brook and Visual Studio

It just looks like we didn't include the vc80.pdb database in the Brook+ installation. However, since your main objective actually isn't debug the Brook+ runtime (that's our job 🙂 ) but rather debug your Brook+ code, then linking against the brook_d.lib shouldn't be necessary.

If you are doing Debug builds and repurposing one of the sample app project files, you should be able to just go into the additional linker input dependencies in the project properties and change the reference of brook_d.lib to brook.lib

Michael.
0 Likes
ryta1203
Journeyman III

Brook and Visual Studio

EDIT: I wasn't trying to repurpose it, just build it. Also, so far I am working on a .br file and this doesn't seem to be a problem, so far. Either way I will just ignore it. Thanks.

Ok,

So I have compiled my .br file, but now when I go to compile the .cpp file I get this error:

fatal error C1083: Cannot open include file: 'brook/brook.hpp': No such file or directory

Sorry for all the trouble, I'm sure a lot of this comes with my inexperience with VS/linkers.

EDIT: I have added the appropriate $(BROOKROOT)\sdk\include to the Projects and Solutions, VC++ Directories, Include Files section of VS2005. Should this have been included automatically by the installer?

EDIT: Although I can compile the .br file and then the .cpp file, the solution will not build:
ERROR: error LNK2019: unresolved external symbol "class brook::Runtime * __cdecl brook::createRuntime(bool)" (?createRuntime@brook@@YAPAVRuntime@1@_N@Z) referenced in function "private: __thiscall `anonymous namespace'::AtStartup::AtStartup(void)" (??0AtStartup@?A0xa34aacc9@@AAE@XZ)

I took out all the brook code but I still get this error.

I'm a bit confused as to why I am having so many problems with this. I have read the Guide and Spec pdfs for Brook+ and installed everything step by step per the Guide. Also, I have done no tweaking or changing to anything and am trying to run this right out of the box.
0 Likes