Export to GitHub

openjpeg - issue #65

fatal error C1900 building the project on windows


Posted on Feb 28, 2011 by Swift Elephant

-Steps to reproduce the problem 1. Create the visual studio solution with cmake 2. Open OPENJPEG.sln with visual studio 2008 3. Build the project ALL_BUILD

-What is the expected output? What do you see instead? Only the openjpeg project is compiled correctly. The other projects get the error C1900. Moreover the openjepeg.lib size is only 7KB. I've already checked the compiler, all its components have the same version, this is the output of cl -Bv:

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved.

Compiler Passes: D:\Programmi\Microsoft Visual Studio 9.0\VC\BIN\cl.exe: Version 15.00.21022.8 D:\Programmi\Microsoft Visual Studio 9.0\VC\BIN\c1.dll: Version 15.00.21022.8 D:\Programmi\Microsoft Visual Studio 9.0\VC\BIN\c1xx.dll: Version 15.00.21022.8 D:\Programmi\Microsoft Visual Studio 9.0\VC\BIN\c2.dll: Version 15.00.21022.8 D:\Programmi\Microsoft Visual Studio 9.0\VC\BIN\link.exe: Version 9.00.21022.8 D:\Programmi\Microsoft Visual Studio 9.0\Common7\IDE\mspdb80.dll: Version 9.00.21022.8 D:\Programmi\Microsoft Visual Studio 9.0\VC\BIN\1033\clui.dll: Version 15.00.21022.8

cl : Command line error D8003 : missing source filename

-What version of the product are you using? On what operating system? This happen with openjpeg 1.4 and svn version on windows xp and vista.

-Please provide any additional information below. The attachment contains the building output.

Attachments

Comment #1

Posted on Feb 28, 2011 by Happy Rabbit

Hi,

It seems that this kind of problem might be due to VS2008 and not openjpeg :

http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/9abfefe0-56bd-4a82-ae14-b08f262972bd

Could you give it a another try after having installed SP1 ?

A

Comment #2

Posted on Mar 2, 2011 by Swift Elephant

Thanks for your answer. I've installed the sp1 without any success, however I solved the problem removing the libs directory. Maybe some of the libraries are compiled with the /GL switch to optimize the code, that makes these libraries incompatible with other versions of the compiler.

The second issue. I understand that the static library it's only a wrapper for the dll (that's why it's so small) Is there a way to build a completely static library like the one provided by yours binary package?

Comment #3

Posted on Mar 2, 2011 by Happy Rabbit

Hi Leonardo,

Thanks for having pointed this out. The libs directory is in the process of being entirely replaced by the source code of the 3rd party libraries, instead of binaries. This should fix the issue.

Concerning the static building, this is an option you have to specify when using cmake:

cmake -DBUILD_SHARED_LIBS:bool=off

This should build the static version of libopenjpeg.

Cheers,

Antonin

Comment #4

Posted on Mar 4, 2011 by Happy Rabbit

(No comment was entered for this change.)

Status: Duplicate

Labels:
Type-Defect Priority-Medium