PRJ0019 error building fortran project in VS 2010

PRJ0019 error building fortran project in VS 2010

Imagen de Corwin O.

I am having enormous difficulty finding a solution to this PRJ0019 error:

"error PRJ0019: A tool returned an error code"

When I attempt to set the values in a character array within VS, I get this error. Here is the line that produces the error:

SSBODS = (/ 'mercury', 'venus', 'earth', 'mars', 'jupiter', 'saturn', &
'uranus', 'neptune', 'pluto' /)

When I use SSBODS(1) = ‘mercury’, etc., I don’t get this error. Normally this would not be a big deal, but I get this same inexplicable error with several other types of code as well. And I get the error every time every time I try these codes, it's very consistent.

I looked at all of these:

http://software.intel.com/en-us/forums/topic/276721
http://software.intel.com/en-us/forums/topic/302795
http://software.intel.com/en-us/forums/topic/341403
http://software.intel.com/en-us/forums/topic/288073
http://software.intel.com/en-us/forums/topic/303520
http://software.intel.com/en-us/forums/topic/295361

And the closest thing to a solution that I can find is to disable the manifest generation. However, when I do this, the program crashes when it attempt to call a function later on.

I’m fairly certain it is the mt.exe manfest generation tool and not the compiler, as Steve Lionel has said in the above comments, as it becomes very slow during the manifest generation portion of the build, and the error occurs right after it finishes.

Here is the build log:

Build Log

Build started: Project: OpNavSim, Configuration: Debug|Win32

Output

Compiling with Intel(R) Visual Fortran Compiler XE 12.1.0.233 [IA-32]...
ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /dbglibs /c /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "C:\Users\olsoncg\Dropbox\Research\NSTRF\Fortran\OpNavSim\OpNavSim\InitializeUserSetParams.f90"
Linking...
Link /OUT:"Debug\OpNavSim.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"C:\Users\olsoncg\Dropbox\Research\NSTRF\Fortran\OpNavSim\OpNavSim\Debug\OpNavSim.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\olsoncg\Dropbox\Research\NSTRF\Fortran\OpNavSim\OpNavSim\Debug\OpNavSim.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"C:\Users\olsoncg\Dropbox\Research\NSTRF\Fortran\OpNavSim\OpNavSim\Debug\OpNavSim.lib" "Debug\InitializeUserSetParams.obj" "Debug\random_normal.obj" "Debug\OpNavSim.obj"
Link: executing 'link'

Embedding manifest...
mt.exe /nologo /outputresource:"C:\Users\olsoncg\Dropbox\Research\NSTRF\Fortran\OpNavSim\OpNavSim\Debug\OpNavSim.exe;#1" /manifest "C:\Users\olsoncg\Dropbox\Research\NSTRF\Fortran\OpNavSim\OpNavSim\Debug\OpNavSim.exe.intermediate.manifest"
OpNavSim : error PRJ0019: A tool returned an error code

OpNavSim - 1 error(s), 0 warning(s)

In a 2009 post, Steve wrote: “If you can set both the C++ and Fortran projects to use the static (non-DLL) libraries, then the manifest won't be a problem.” How do I do this? I am fairly new to fortran and Visual Studio.

He also wrote: “I suppose an alternative is to not embed the manifest but to keep the .manifest file alongside the executable.” How could I do this?

If anyone could help me out with this, I would greatly appreciate it.

publicaciones de 2 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.
Imagen de Steve Lionel (Intel)

I don't know why the particular code usage would change the behavior here. It is the Microsoft Manifest Tool (mt.exe) that is giving the error. Since you are building with static libraries, it is safe to turn manifests off. In Visual Studio, right click on the Fortran project and select Properties. Then go to Linker > Manifest File. Change "Generate Manifest" to No and click OK. You'll want to repeat this for your Release configuration if it gives you the same error.

Steve

Inicie sesión para dejar un comentario.