[ https://issues.apache.org/activemq/browse/AMQCPP-29?page=all ]

Albert Strasheim updated AMQCPP-29:
-----------------------------------

    Attachment: activemq-cpp-winbuild.diff

Patch attached that fixes the following:

1. Consistent ordering of AdditionalLibraryDirectories and 
AdditionalIncludeDirectories
2. Moved BlockingByteArrayInputStream sources to activemq\io filter
3. Fixed IntermediateDirectory for all the projects.
4. Removed $(OutDir)\activemq-cpp[d].lib from AdditionalDependencies -- the 
dependencies set up between the projects in the solution already adds the right 
activemq-cpp library to the linker arguments.

To move the Windows build into a separate directory, all that remains is to 
create a directory like win_build, move the .vcproj and .sln files into it, and 
prepend ..\ to all occurences of src\[main,test,test-integration,examples].

With the fixes, Debug and Release builds work perfectly on my system and after 
a successful build, building again doesn't make the Debug build relink the 
example.

> Projects in MSVC build building on top of one another
> -----------------------------------------------------
>
>                 Key: AMQCPP-29
>                 URL: https://issues.apache.org/activemq/browse/AMQCPP-29
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>    Affects Versions: 1.1
>            Reporter: Albert Strasheim
>         Assigned To: Nathan Mittler
>            Priority: Minor
>             Fix For: 1.1
>
>         Attachments: activemq-cpp-winbuild.diff
>
>
> After I've done a complete Debug build on Windows with MSVC 2005, building 
> the solution again still yields the following each time I build:
> 1>------ Build started: Project: vs2005-activemq-example, Configuration: 
> Debug Win32 ------
> 1>Linking...
> 1>Embedding manifest...
> 1>Build log was saved at 
> "file://c:\home\albert\work5\activemq-cpp\Debug\BuildLog.htm"
> 1>vs2005-activemq-example - 0 error(s), 0 warning(s)
> ========== Build: 1 succeeded, 0 failed, 3 up-to-date, 0 skipped ==========
> I think this relinking might have something to do with the tests and 
> activemq-example all containing a main.cpp with is built as main.obj in the 
> Debug directory.
> You might consider setting up the Windows builds as follows (idea borrowed 
> from many other projects I've looked at):
> top level of project
>    \win_build
>    \win_build\solution.sln
>    \win_build\project1.sln
>    \win_build\project2.sln
>    \win_build\Debug (output directory)
>    \win_build\Release (output directory)
>    \win_build\project1\Debug (intermediate directory)
>    \win_build\project1\Release (intermediate directory)
>    \win_build\project2\Debug (intermediate directory)
>    \win_build\project2\Release (intermediate directory)
> To achieve this, each project's output directory for each build is set to 
> (SolutionDir)$(ConfigurationName)  and the intermediate directory is set to 
> $(SolutionDir)$(ProjectName)\$(ConfigurationName) (note the extra \).
> This setup keeps all the Windows output out of the top level directory, and 
> prevents projects from building on top of one another.
> With this setup, you need to refer to src\main as ..\src\main, etc.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to