Blitz logo

Blitz Support :

From: Julian C. Cummings (cummings_at_[hidden])
Date: 2004-03-25 14:59:31


Hi Eric,
 
The VS .NET 2003 "solution" files may contain as many projects as you like,
so it makes sense to group related projects, such as all of the blitz
testsuite codes, together in one solution. Each testsuite application must
link against the blitz library blitz.lib. This is done by making the
application project dependent on the blitz library project. If you open the
project "complex", for example, and go to Project Dependencies on the
Project menu, you will see that the blitz project is checked. This is why
your attempt to implement the project yourself failed. You need to add this
project dependency to force the application to link against the blitz
library. The blitz library is small but it contains a few static global
objects that are used by the testsuite codes and other blitz applications. I
hope this clarifies things for you.
 
Regards, Julian C.
 
Dr. Julian C. Cummings
Staff Scientist, CACR/Caltech
(626) 395-2543
cummings_at_[hidden]
  

-----Original Message-----
From: blitz-support-bounces_at_[hidden]
[mailto:blitz-support-bounces_at_[hidden]] On Behalf Of Eric Lee
Sent: Thursday, March 25, 2004 12:50 AM
To: blitz-support_at_[hidden]
Subject: [Blitz-support] Problems with Installing Blitz++ for VC.NET 2003

I have tried to follow the instructions in README-VS.NET and one of the
Blitz-support Mailing List Archive
 <http://www.oonumerics.org/MailArchives/blitz-support/msg00931.php>
http://www.oonumerics.org/MailArchives/blitz-support/msg00931.php to install
and run Blitz++, I extracted the Blitz-VS.NET.zip to give this directory
structure:

-Blitz++-0.7
        -benchmarks
        -bin
        -blitz
        -compiler
        -doc
        -examples
        -lib
        -manual
        -random
        -scr
        -testsuite
        -Blitz-Library
        -Blitz-testsuite
I also follow the instructions to replace the config.h file, re-adding
global.cpp and modifying all the necessary #include .h files paths. I
compiled the project blitz in C:\Blitz++-0.7\Blitz-Library\blitz (by using
Build->Build Solution in VS.NET) and got the file blitz.lib in
C:\Blitz++-0.7\Blitz-Library\blitz\Debug. Things seem to working fine. Then
I open a randomly chosen VC++ project from C:\Blitz++-0.7\Blitz-Testsuite\,
in particular, I opened the project Complex from
C:\Blitz++-0.7\Blitz-Testsuite\complex. What I found was that all of the
projects in the directory C:\Blitz++-0.7\Blitz-Testsuite\ were all opened. I
am not sure why all of the projects were opened when I tried to just open 1
project. Can somebody please let me know why? Also, when I compile each
project individually, in particular, I choose to "build" the project
"complex" and the result was success with this message:

------ Build started: Project: blitz, Configuration: Debug Win32 ------
blitz - up-to-date.

------ Build started: Project: complex, Configuration: Debug Win32 ------
complex - up-to-date.

---------------------- Done ----------------------
    Build: 2 succeeded, 0 failed, 0 skipped
It seems to me that VC++ not just build "complex", but also do something in
"blitz", can someone explain what is the setting of the project that make it
so, and why are both "complex" and "blitz" used?

However, when I tried to open a new empty project, add the file
complex-test.cpp and try to build it, I got a number of fatal errors:

------ Build started: Project: test1, Configuration: Debug Win32 ------
Linking...
LINK : error LNK2020: unresolved token (0A000023) assertFailCount
LINK : error LNK2020: unresolved token (0A000024) assertFailMode
LINK : error LNK2020: unresolved token (0A000025) assertSuccessCount
LINK : fatal error LNK1120: 3 unresolved externals

Build log was saved at "
<file://c:\Blitz++-0.7\Blitz-Testsuite\complex\test1\Debug\BuildLog.htm>
file://c:\Blitz++-0.7\Blitz-Testsuite\complex\test1\Debug\BuildLog.htm"
test1 - 4 error(s), 0 warning(s)
---------------------- Done ----------------------

    Build: 0 succeeded, 1 failed, 0 skipped

test1 error LNK2020: unresolved token (0A000023) assertFailCount
test1 error LNK2020: unresolved token (0A000024) assertFailMode
test1 error LNK2020: unresolved token (0A000025) assertSuccessCount
test1 fatal error LNK1120: 3 unresolved externals
I can't think of a reason why it doesn't work the way I do, is there any
problem with the way I set up the project? What is the right way of setting
up the project? Please let me know. Thank you very much.

Eric