Qt DirectX fxc.exe compilation line - qt

I was compiling Qt, then saw in the log "C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Utilities\bin\x86\fxc.exe" /nologo /E VS_Passthrough2D /T vs_4_0_level_9_3 /Fh libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h ../../../3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl
It gave error Too many files specified ('E:/' was the last one), use /? to get usage information
it shows in the help that /E<name> entrypoint name
It seems to me that it is treating the /E option as the path E:/ (its unfortunate I have a drive E, and many data residing in it). Is there anyway around this? is my analogy correct? some suggestions would be really appreciated.

Having had the same problem recently, I asked colleagues about it and was advised to use MS's cmd.exe command prompt instead of MinGW's Git Bash prompt. For some reason that worked ! I won't pretend to understand how choice of command shell can help, but apparently it does.
See also discussion of this on Qt's own forum:
https://forum.qt.io/topic/73114/building-with-mingw64-on-windows-8

Related

Silent command-line install of Gitahead?

Need to install gitahead via SCCM on our lab machines. Gitahead provides .exe installers, not .msi files. Need to find correct flags/parameters for silent install.
I've already tried /qn /q /silent /verysilent and the other common ones. They all still pop up the installer GUI.
Stackoverflow seems like a weird place to get support for a non-coding problem, but I'm doing as githead requests on their site: "Ask questions about using GitAhead on Stack Overflow by including the 'gitahead' tag." -okay, that's what I'm doing.
Looks like they use NSIS (an alternative to MSI technology). Silent installs need a /S or /SD switch and if I remember correctly it is case sensitive.
Thank you, Paul! Yes, that did the trick - silly of me to not have tried /S
Question resolved! I upvoted you but because I'm new here, it doesn't seem to have publicly shown.

Qt copying files

I'm using qt-opensource-windows-x86-mingw492-5.5.0 on two different machines.
My problem is when it comes to copying files after the build using the following command:
copyfiles.commands += #call xcopy /S /Y /I $${THIRDPARTY_PATH}\\ffmpeg\\Windows\\* $${DESTDIR_WIN}\\debug
My first machine has Visual Studio 2013 but i'm using mingw. This one properly uses the copyfiles.
On my second machine I dont have Visual Studio and when I run the build I get the following errors:
/usr/bin/sh: #call: command not found
I'm not sure why the same Qt install gives two different solutions. I looked at the build steps of the project and both project are the same.
Any ideas?
Your problem is most likely that you have a 'sh.exe' in your PATH on the second machine.
When generating Makefile's, qmake tries to be clever and determines whether it's running from Windows command line (cmd.exe), or from the Unix/Cygwin shell (sh.exe) by checking whether 'sh.exe' is in the current PATH. If it thinks it is running in a Unix shell it well generate a Makefile meant for mingw32-make, otherwise a Makefile meant for nmake.
This test is unfortunately pretty bogus nowadays, mostly because sh.exe is in part of the 'bin' directory of git on Windows. If this is your problem, and you're using git, just make sure that you include the 'cmd' directory of git instead.

Building Brackets Shell (After running the grunt build command)

On windows after running the grunt build command for creating brackets shell it gives done without errors but i dont see any .exe file generated..
What might be the problem???
Here are some possible solutions:
Are you following the full brackets-shell build instructions, including all prerequisites?
Make sure Brackets isn't running at the same time. The build will fail silently if the .exe file is currently in use (see bug).
Try with a fresh git clone of the repo. If your brackets-shell local copy has been around for a while, sometimes the build & deps folders can get in a bad state. (I'm assuming you haven't modified the source at all. If you have, try with an unmodified copy of the source first to make sure it builds correctly without any of your changes).
Check that python --version shows 2.7.x
Verbose build output would also be helpful in diagnosing issues like this, but unfortunately there's not yet an easy way to get that...
If you follow the instructions on bracket-shell's wiki page, the Windows executable should be created in the Release directory.

Compiling sqlite Levenshtein function for System.Data.SQLite

OK, I'm new to compiling programs, and I have literally tried everything.
I downloaded System.Data.SQLite from here:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
This allowed me to get sqlite functionality into my C# application. Now I'm looking to add a Levenshtein function so that I can do a search to find similar results in my c# application.
I stumbled upon:
https://github.com/mateusza/SQLite-Levenshtein
But I honestly have no clue how to compile it and load it as an extension. I read about the sqlite extensions on sqlite's main website.
I have an idea about how to load my extension: Run select load_extension('path to .dll'), but I don't know how to turn that SQLite-Levenshtein into a dll file that can be loaded from sqlite. I would appreciate any help you can give. (Please bear with me, I'm slowly diving into wide world of compiling).
That's how I compiled this extension with mingw GCC:
gcc -s -O4 -I /path/to/sqlite/headers/ -shared -o levenshtein.dll levenshtein.c
/path/to/sqlite/headers/ is the place where sqlite3ext.h file is located.
If your platform is x86 (32-bit), you may take http://www.siftsoft.com/misc/levenshtein.dll -- that's what I built from git HEAD right now.

Why does configure.sh think win32 is Unix?

I'm trying to build an application from source in windows that requires some Unix tools. I think it's the apparently standard ./configure; make; make install (there's no INSTALL file). First I tried MinGW but got confused that there was no bash, autoconf, m4, or automake exes in \bin. I'm sure I missed something obvious but I installed Cygwin anyways just to move forward. For some reason when I run
sh configure.sh
I get:
platform unix
compiler cc
configuration directory ./builds/unix
configuration rules ./builds/unix/unix.mk
My OS has identity problems. Obviously the makefile is all wrong since I'm not on unix but win32. Why would the configure script think this? I assume it has something to do with Cygwin but if I remove that I can't build it at all. Please help; I'm very confused.
Also is it possible to build using MinGW? What's the command for bash and is mingw32-make the same as make? I noticed they're different sizes.
Everything is fine. When you are inside CygWin, you are basically emulating an UNIX. sh runs inside CygWin, and thus identifies the OS correctly as Unix.
Have a look at GCW - The Gnu C compiler for Windows
Also, you might be interested in this help page, that goes into some detail about the minimal system (MSYS), such as how to install, configure et. c.
That should help you get bash, configure and the rest to work for MinGW as well.
From the Cygwin home page
Cygwin is a Linux-like environment for Windows. It consists of two parts:
A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality.
A collection of tools which provide Linux look and feel.
Since configure is using the Cygwin environment, it is interacting against the emulation layer and so it is just like it's working on a Unix environment.
Have you tried building the application and seeing if it works?

Resources