Apparently there's nothing I have more difficulty with than flipping switches in VS and using DLLs. No matter how many times I do it, I can never seem to get it right.
Anyway, I'm trying to link LibUSB against a test application. I've downloaded the Windows binaries from LibUSB.info and now I'd like to link it to my test project. My directory structure is as follows:
Folder PATH listing for volume Local Disk
Volume serial number is 00000200 1C56:6A00
C:.
| LibUSBTest.sdf
| LibUSBTest.sln
| out.txt
|
+---Debug
| LibUSBTest.pdb
|
+---ipch
| +---libusbtest-291f707a
| | libusbtest-85afab4d.ipch
| |
| \---libusbtest-e65e4917
| libusbtest-85afab4d.ipch
|
+---libusb
| | libusb-1.0.def
| | README.txt
| |
| +---examples
| | +---bin32
| | | fxload.exe
| | | listdevs.exe
| | | xusb.exe
| | |
| | +---bin64
| | | fxload.exe
| | | listdevs.exe
| | | xusb.exe
| | |
| | \---source
| | ezusb.c
| | ezusb.h
| | fxload.c
| | listdevs.c
| | stdint.h
| | xusb.c
| |
| +---include
| | \---libusb-1.0
| | libusb.h
| |
| +---MinGW32
| | +---dll
| | | libusb-1.0.dll
| | | libusb-1.0.dll.a
| | |
| | \---static
| | libusb-1.0.a
| |
| +---MinGW64
| | +---dll
| | | libusb-1.0.dll
| | | libusb-1.0.dll.a
| | |
| | \---static
| | libusb-1.0.a
| |
| +---MS32
| | +---dll
| | | libusb-1.0.dll
| | | libusb-1.0.lib
| | | libusb-1.0.pdb
| | |
| | \---static
| | libusb-1.0.lib
| |
| \---MS64
| +---dll
| | libusb-1.0.dll
| | libusb-1.0.lib
| | libusb-1.0.pdb
| |
| \---static
| libusb-1.0.lib
|
\---LibUSBTest
| LibUSBTest.cpp
| LibUSBTest.vcxproj
| LibUSBTest.vcxproj.filters
| ReadMe.txt
| stdafx.cpp
| stdafx.h
| targetver.h
|
\---Debug
| LibUSBTest.Build.CppClean.log
| LibUSBTest.log
| LibUSBTest.obj
| LibUSBTest.pch
| stdafx.obj
| vc120.idb
| vc120.pdb
|
\---LibUSBTest.tlog
cl.command.1.tlog
CL.read.1.tlog
CL.write.1.tlog
LibUSBTest.lastbuildstate
link-cvtres.read.1.tlog
link-cvtres.write.1.tlog
link-rc.read.1.tlog
link-rc.write.1.tlog
link.command.1.tlog
link.read.1.tlog
link.write.1.tlog
unsuccessfulbuild
| vc120.idb
| vc120.pdb
|
\---LibUSBTest.tlog
cl.command.1.tlog
CL.read.1.tlog
CL.write.1.tlog
LibUSBTest.lastbuildstate
link-cvtres.read.1.tlog
link-cvtres.write.1.tlog
link-rc.read.1.tlog
link-rc.write.1.tlog
link.command.1.tlog
link.read.1.tlog
link.write.1.tlog
unsuccessfulbuild
At the top of my source code, I've defined #pragma comment(lib, "libusb-1.0.lib")
to add the library dependency.
Under Properties->VC++ Directories->Library Directories I've added $(SolutionDir)libusb\MS32\dll\
and for Include Directories I've added $(SolutionDir)libusb\include\libusb-1.0\
Just to be safe, under Properties->C/C++->General->Additional Include Directories I've added $(SolutionDir)libusb\include\libusb-1.0\
Finally, under Linker->General-> Additional Library Directories I've added $(SolutionDir)libusb\MS32\dll\
I'm assuming I need to copy the DLL and/or Lib file somewhere in the project directory, but even doing that manually hasn't helped matters.
Edit: Output Window Results
The output window caused me to reach the character limit, so I unfortunately had to resort to using PasteBin for that part.