fatal error LNK1107 when generating lib file from vlc dll - dll

I followed the instructions on this site http://wiki.videolan.org/GenerateLibFromDll for generating a lib file from a dll. The def file is created fine and I have editted it as suggested but when I try to generate the lib file I get the LNK1107 error for an invalid or corrupt file. Any help would be most welcome.
Regards

Try another way: call function from dll by getting pointer with GetProcAddress;
Example:
C++ calling a dll
Update:
VLC media player downloaded as 7zip version;
I choose the way with GetProcAddress:
#include <windows.h>
#include <iostream>
int main()
{
//VLC_PUBLIC_API const char * libvlc_get_version(void);
//Set directory path with libvlccore.dll and libvlc.dll
SetCurrentDirectory("C:/Program Files/VideoLAN/VLC");
HINSTANCE hGetProcIDDLL = LoadLibrary("libvlc.dll");
FARPROC lpfnGetProcessID = GetProcAddress(HMODULE(hGetProcIDDLL),"libvlc_get_version");
if(lpfnGetProcessID == 0)
{
std::cout << "GetProcAddress failed";
return 1;
}
typedef const char * (__stdcall * pICFUNC)(void);
pICFUNC MyFunction = pICFUNC(lpfnGetProcessID);
std::cout << MyFunction() << std::endl;
//output: 1.1.4 The Luggage
return 0;
}
It works fine for me, but you must change Character Set from default Unicode to Multi-Byte:
Project -> Properties -> General -> Character Set;
Try it! and good luck!;)
Update 2:
I got lib, here the trace from cmd:
Microsoft Windows XP [Version
5.1.2600] (C) Copyright 1985-2001 Microsoft Corp.
C:\Program Files\Microsoft Visual
Studio 9.0\VC\bin>vcvars32.bat
C:\Program Files\Microsoft Visual
Studio 9.0\VC\bin>"C:\Program
Files\Microsoft Visual Studio
9.0\Common7\Tools\vsvars32.bat" Setting environment for using
Microsoft Visual Studio 2008 x86
tools.
C:\Program Files\Microsoft Visual
Studio 9.0\VC\bin>dumpbin.exe /exports
"D:\My
Downloads\VLC\vlc-1.1.4-win32\vlc-1.1.4\libvlc.dll"
"C:\Documents and Settings \Eugene\My Documents\Visual Studio
2008\Projects\VLCApp\VLCApp\libvlc.def"
C:\Program Files\Microsoft Visual
Studio 9.0\VC\bin>lib
/def:"C:\Documents and S
ettings\Eugene\My Documents\Visual
Studio
2008\Projects\VLCApp\VLCApp\libvlc.def
" /out:"C:\Documents and
Settings\Eugene\My Documents\Visual
Studio 2008\Project
s\VLCApp\VLCApp\libvlc.lib"
/machine:x86 Microsoft (R) Library
Manager Version 9.00.30729.01
Copyright (C) Microsoft Corporation.
All rights reserved.
Creating library C:\Documents and
Settings\Eugene\My Documents\Visual
Studio
2008\Projects\VLCApp\VLCApp\libvlc.lib
and object C:\Documents and
Settings\Euge ne\My Documents\Visual
Studio
2008\Projects\VLCApp\VLCApp\libvlc.exp
C:\Program Files\Microsoft Visual
Studio 9.0\VC\bin>

Related

Error while Building (compile) wixproj using MSBuild api 15.9.20

I'm using wix in a project and i have a specific need :
Build wixproj using MSBuild from c#.
For that i'm using MSBuild api as folowing :
static void Main(string[] args)
{
string toolsPath = ToolLocationHelper.GetPathToBuildToolsFile("msbuild.exe", ToolLocationHelper.CurrentToolsVersion);
ProjectCollection projectCollection = new ProjectCollection();
projectCollection.AddToolset(new Toolset(ToolLocationHelper.CurrentToolsVersion, Path.GetDirectoryName(toolsPath), projectCollection, string.Empty));
Project project = projectCollection.LoadProject("TestWix.wixproj");
var result = project.Build(new ConsoleLogger());
Console.ReadKey();
}
And i get this error :
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(1988,5): error MSB4127: The "GenerateCompileWithObjectPath" task could not be instantiated from the assembly "C:\Program Files (x86)\WiX Toolset v3.11\bin\WixTasks.dll". Please verify the task assembly has been built using the same version of the Microsoft.Build.Framework assembly as the one installed on your computer and that your host application is not missing a binding redirect for Microsoft.Build.Framework. Unable to cast object of type 'Microsoft.Tools.WindowsInstallerXml.Build.Tasks.GenerateCompileWithObjectPath' to type 'Microsoft.Build.Framework.ITask'.
But when i use msbuild command line it's work fine.
Do you have any idea please ?
Thank you in advance.

running vb.net code in Mono on Windows

I'm trying to run the following vb.net code on Mono on the Windows 7 machine, ina file called vbtest.vb:
console.writeline("hello world")
The command used and error:
C:\Windows\System32>vbnc "C:\Users\Henry\vbtest.vb"
Visual Basic.Net Compiler version 0.0.0.5943
Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.
Error : VBNC2017: The library 'Microsoft.VisualBasic.dll' could not be found.
There were 1 errors and 0 warnings.
Compilation took 00:00:00.3320190

F# - Array.Parallel module not accessible

I can access the Array.Parallel module in F# Interactive but not when compiling.
What might be wrong ? (VS 2010)
namespace X // not sent to interactive
open Microsoft.FSharp.Collections
module M =
let square (a _[]) = Array.map (fun a -> a*a ) // OK
let squareP (a:_[]) = Array.Parallel.map (fun a -> a*a ) // Error: "Parallel" not defined
This code compiles fine in FSI but when part of a project fails:
------ Erstellen gestartet: Projekt: DELETE TEST, Konfiguration: Debug Any CPU ------
C:\Program Files (x86)\Microsoft F#\v4.0\fsc.exe -o:obj\Debug\DELETE_TEST.dll -g --debug:full --noframework --define:DEBUG --define:TRACE --doc:bin\Debug\DELETE_TEST.XML --optimize- --tailcalls- -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.dll" -r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll" -r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll --target:library --warn:3 --warnaserror:76 --vserrors --LCID:1031 --utf8output --fullpaths --flaterrors Module1.fs
C:\work\Goswin\30_F#\16-135_LAD\DELETE TEST\Module1.fs(7,37): Fehler FS0039: Der Wert, Konstruktor, Namespace oder Typ "Parallel" ist nicht definiert.
You are targeting .NET 2.0: -r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.dll"
The Parallel module is implemented via System.Threading.Tasks, which were not introduced until .NET 4.0. Thus the Parallel module doesn't exist on Array in the .NET 2.0 version of FSharp.Core.dll. If you re-target to 4.0 it will work.
It works in FSI because FSI runs in a .NET 4 environment.

How do I build TrueCrypt on Windows?

I'm trying to compile TrueCrypt. I am using the instructions from https://github.com/syglug/truecrypt.
I set the 3 environment variables (pkcs,ddk,MSVC16_ROOT) and opened the project in msvc2008. This wasn't in the instructions but I needed NASM to be installed so I installed it and put NASM in the PATH. Now when I build I get the below. It juts ends even though the IDE has the cancel build selectable the compiler isn't doing anything and the system idles.
Crypto.lib does exist after this step
1>------ Build started: Project: Crypto, Configuration: Release Win32 ------
2>------ Build started: Project: Boot, Configuration: Release Win32 ------
3>------ Build started: Project: Driver, Configuration: Release Win32 ------
2>Performing Makefile project actions
3>Performing Makefile project actions
1>Performing Custom Build Step
3>------ Building truecrypt.sys: Release x86 ------
1>Aes_hw_cpu.asm
2>Microsoft (R) C/C++ Optimizing Compiler Version 8.00c
2>Copyright (c) Microsoft Corp 1984-1993. All rights reserved.
3>The syntax of the command is incorrect.
3>Project : error PRJ0002 : Error result 255 returned from 'C:\Windows\SysWow64\cmd.exe'.
3>Build log was saved at "file://c:\unzipped\tc\Driver\Release\BuildLog.htm"
3>Driver - 1 error(s), 0 warning(s)
1>Performing Custom Build Step
1>Aes_x86.asm
1>Compiling...
1>Whirlpool.c
1>Twofish.c
1>Sha2.c
1>Sha1.c
1>Serpent.c
1>Rmd160.c
1>Des.c
1>Cast.c
1>Blowfish.c
1>Aestab.c
1>Aeskey.c
1>Generating Code...
1>Creating library...
1>Build log was saved at "file://c:\unzipped\tc\Crypto\Release\BuildLog.htm"
1>Crypto - 0 error(s), 0 warning(s)
It just hangs. It isn't using any CPU the IDE doesn't seem to know it failed or stopped. When running again I get this
1>------ Build started: Project: Boot, Configuration: Release Win32 ------
2>------ Build started: Project: Driver, Configuration: Release Win32 ------
1>Performing Makefile project actions
2>Performing Makefile project actions
2>------ Building truecrypt.sys: Release x86 ------
1>Microsoft (R) C/C++ Optimizing Compiler Version 8.00c
1>Copyright (c) Microsoft Corp 1984-1993. All rights reserved.
2>The syntax of the command is incorrect.
I have msvc2012 installed so I tried it as well. I get the same problems
1>------ Build started: Project: Crypto, Configuration: Release Win32 ------
2>------ Build started: Project: Boot, Configuration: Release Win32 ------
3>------ Build started: Project: Driver, Configuration: Release Win32 ------
1> Performing Custom Build Tools
1> Aes_hw_cpu.asm
3> ------ Building truecrypt.sys: Release x86 ------
2> Microsoft (R) C/C++ Optimizing Compiler Version 8.00c
2> Copyright (c) Microsoft Corp 1984-1993. All rights reserved.
2>
3> The syntax of the command is incorrect.
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: The command "echo ------ Building truecrypt.sys: Release x86 ------
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: cmd.exe /c BuildDriver.cmd -build -release -x86 "C:\unzipped\tc\\Common" "C:\unzipped\tc\\Crypto" "C:\unzipped\tc\Driver\"
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: if errorlevel 1 exit %errorlevel%
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: echo.
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: echo ------ Building truecrypt.sys: Release x64 ------
3>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: BuildDriver.cmd -build -release -x64 "C:\unzipped\tc\\Common" "C:\unzipped\tc\\Crypto" "C:\unzipped\tc\Driver\"" exited with code 255.
1> Performing Custom Build Tools
1> Aes_x86.asm
1> Aeskey.c
1> Aestab.c
1> Blowfish.c
1> Cast.c
1> Des.c
1> Rmd160.c
1> Serpent.c
1> Sha1.c
1> Sha2.c
1> Twofish.c
1> Whirlpool.c
1> Generating Code...
1> Crypto.vcxproj -> C:\unzipped\tc\Crypto\Release\Crypto.lib
When I cancel/build again I get the below
1>------ Build started: Project: Boot, Configuration: Release Win32 ------
2>------ Build started: Project: Driver, Configuration: Release Win32 ------
2> ------ Building truecrypt.sys: Release x86 ------
2> The syntax of the command is incorrect.
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: The command "echo ------ Building truecrypt.sys: Release x86 ------
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: cmd.exe /c BuildDriver.cmd -build -release -x86 "C:\unzipped\tc\\Common" "C:\unzipped\tc\\Crypto" "C:\unzipped\tc\Driver\"
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: if errorlevel 1 exit %errorlevel%
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: echo.
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: echo ------ Building truecrypt.sys: Release x64 ------
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.MakeFile.Targets(38,5): error MSB3073: BuildDriver.cmd -build -release -x64 "C:\unzipped\tc\\Common" "C:\unzipped\tc\\Crypto" "C:\unzipped\tc\Driver\"" exited with code 255.
1> Microsoft (R) C/C++ Optimizing Compiler Version 8.00c
1> Copyright (c) Microsoft Corp 1984-1993. All rights reserved.
1>
What's wrong here? How do I build TrueCrypt? I'm running Windows 7 64bits
I could successfully build all projects from https://github.com/syglug/truecrypt. I followed mostly the instructions from readme.txt. Because the instruction are not detailed enough I describe below all steps which I did. If you will have some additional questions to some steps I'll include additional details.
I used Visual Studio 2008 installed on Windows 7 X64. If needed I could reproduce the same with Visual Studio 2010 or 2012.
I downloaded from MSDN (I have subscription) Visual C++ 1.52: en_vc152.exe. It's self extracted EXE file. To hold Paths mostly short and have no spaces in the directory names I extracted MSVC15 directly in C:\. So I had for example old binaries of 16-bit VC compiler in C:\MSVC15\BIN.
I placed all files downloaded from ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20 in C:\PKCS-11 directory. The file C:\PKCS-11\pkcs11.h like all dependent files will be in the same directory C:\PKCS-11
I downloaded the current version 2.10.05 of NASM from http://www.nasm.us/pub/nasm/releasebuilds/2.10.05/. I extracted nasm-2.10.05-win32.zip in C:\nasm-2.10.05 directory. So that nasm.exe could be found in C:\nasm-2.10.05.
I downloaded Binaries of Gzip for Windows. I extracted gzip-1.3.12-1-bin.zip to C:\gzip-1.3.12-1-bin. So that C:\gzip-1.3.12-1-bin\bin contains gzip.exe.
I had already installed Windows DDK in directory C:\WinDDK\7600.16385.1 before.
I downloaded truecrypt-master.zip from https://github.com/syglug/truecrypt. I extracted it in C:\truecrypt-master directory. So that Crypto.vcproj can be found in C:\truecrypt-master\Crypto directory.
Because I don't like to modify the global environment variables I created the following batch file:
SET MSVC16_ROOT=C:\MSVC15
SET PKCS11_INC=C:\PKCS-11
PATH=C:\nasm-2.10.05;C:\gzip-1.3.12-1-bin\bin;%PATH%
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"
In the last line of the batch file Visual Studio 2008 will be started (devenv.exe). It inherits all environment variables set in CMD.EXE (the parent process which started Visual Studio 2008).
The solution file 'TrueCrypt.sln' described in the readme is not included in the sources found on github. So I opened every Project file which I found in subdirectories of C:\truecrypt-master and compiled it. It was Crypto.vcproj (from C:\truecrypt-master\Crypto), Boot.vcproj (from C:\truecrypt-master\Boot\Windows), Driver.vcproj (from C:\truecrypt-master\Driver), Format.vcproj (from C:\truecrypt-master\Format) and Mount.vcproj (from C:\truecrypt-master\Mount).
I could successfully compile all the projects. The only small problems were during building of Format.vcproj and Mount.sln. The files Format.tlb and Mount.tlb exists in subdirectories. So I fixed the lines where TLB files are referenced in C:\truecrypt-master\Format\Format.rc and C:\truecrypt-master\Mount\Mount.rc to
IDR_FORMAT_TLB TYPELIB ".\\Format\\Format.tlb"
and
IDR_MOUNT_TLB TYPELIB ".\\Mount\\Mount.tlb"
I'll post later the corresponded fixes to https://github.com/syglug/truecrypt in form of Pull Request.
UPDATED: One have to change in the file BuildDriver.cmd the line
set TC_BUILD_ARCH=x64 WNET
to
set TC_BUILD_ARCH=x64
to be able to build Driver.
Additionally one should build lines uses correct pathes like "$(SolutionDir)..\Crypto" and "$(SolutionDir)..\Common" (see nmake options in Visual Studio). If one use TrueCrypt.sln from C:\TrueCrypt7.1a it's not needed.
UPDATED 2: After you compiled the project you will see in C:\TrueCrypt7.1a\Release\Setup Files or in C:\truecrypt-master\Release\Setup Files the files
The file TrueCrypt Setup.exe exists only in C:\TrueCrypt7.1a (downloaded from the link www.truecrypt.org which you posted in the comment later). As I mentioned in the comment before you need configure Visual Studio 2008 to use Windows SDK 7 instead of default 6.0a to be able successfully to compile Setup project.
The drivers which will be compiled are not digitaly signed with Microsoft signature. So the drivers will be not trusted by Windows 7 by default. So to verify that the driver work you have to press F8 during boot of the computer and disable driver signature:
After that you will be able to execute TrueCrypt.exe (from C:\TrueCrypt7.1a\Release\Setup Files directory for example). You will get warning
but the TrueCrypt.exe will do work and you will see
Looks like you have modified the PATH environment variable and some folder path contains quotation ("") marks. Windows no longer needs quotes to avoid getting confused with spaces. Error PRJ0002 : Error result 255 returned from 'C:\Windows\SysWow64\cmd.exe'" goes away once you fix this.
For everyone who gets stuck in this PKEY_AppUserModel_ID problem: it works by defining the following in Setup.c before the first function():
EXTERN_C const PROPERTYKEY DECLSPEC_SELECTANY PKEY_AppUserModel_ID =
{ { 0x9F4C2855, 0x9F79, 0x4B39,
{ 0xA8, 0xD0, 0xE1, 0xD4, 0x2D, 0xE1, 0xD5, 0xF3, } }, 5 };
kind regards

Visual Studio 2010 Crash on project/form load

First i want to apologize for my english :S.
Hi i just got visual studio pro 2 days ago and every time i create a project, close VS 2010 and when i come back to work on my project and i click on my Form.vb i got every time : Visual Studio has stopped working.Then i tried run as administrator it doesn't work. What i don't understand it's when i click on show code the form load but the moment i click on it ,it just crashing and it's make me wanna drop laptop cascade...I've look on forum and post here but i haven't saw what i was searching.
Here the error that VS show me :(Those files doesn't exist i search)
Files that help describe the problem:
C:\Users\Usager\AppData\Local\Temp\WER152.tmp.WERInternalMetadata.xml
C:\Users\Usager\AppData\Local\Temp\WER18C9.tmp.appcompat.txt
C:\Users\Usager\AppData\Local\Temp\WER3520.tmp.hdmp
An unhandle win32 exception occured in devenv.exe[1688]
Unhandled exception at 0x777715de in devenv.exe: 0xC0000005: Access violation reading
location 0x00000000.
An unhandled exception of type 'System.ExecutionEngineException' occurred in
Microsoft.VisualStudio.Design.dll
Again thank you for your time to helping me.**
Here the Error log :
[02/07/12,18:22:19] Microsoft Visual Studio 2010 Professional - FRA: [2] UpdateFileFetcherFromMsi: Warning: Missing fwlink entry for cabinet: #GDR.cab
[02/07/12,18:22:19] Microsoft Visual Studio 2010 Professional - FRA: [2] UpdateFileFetcherFromMsi: Warning: Missing fwlink entry for cabinet: #QFE.cab
[02/07/12,18:55:04] VS70pgui: [2] Return for Visual Studio 2010 Tools pour SQL Server Compact 3.5 SP2 FRA indicates a failed installation. DepCheck indicates the component is installed.
[02/07/12,18:57:05] Microsoft Visual Studio 2010 Professional - FRA: [2] UpdateFileFetcherFromMsi: Warning: Missing fwlink entry for cabinet: #GDR.cab
[02/07/12,18:57:05] Microsoft Visual Studio 2010 Professional - FRA: [2] UpdateFileFetcherFromMsi: Warning: Missing fwlink entry for cabinet: #QFE.cab
[02/07/12,19:15:44] Microsoft Visual Studio 2010 Professional - FRA: [2] UpdateFileFetcherFromMsi: Warning: Missing fwlink entry for cabinet: #GDR.cab
[02/07/12,19:15:44] Microsoft Visual Studio 2010 Professional - FRA: [2] UpdateFileFetcherFromMsi: Warning: Missing fwlink entry for cabinet: #QFE.cab
**EndOfSession
Could be the *.suo file next to the .sln file. Delete it and retry?
See this for more info
I had a similar error. I found out that the destination path had too many characters and was too long. I fixed it by moving the whole project to my main drive (C:).