Jens: is it possible to show some message when the pkg-config expansion fails?
Probably checking the return code of pkg-config and printing all strerr text in the build log?
Very often I mistype the cflags/libs like cflag/lib or sometimes I type "-" instead of "--" in front of the option.
I think this should not be too hard.
I will look into it, later (possibly this evening or the weekend).
Here comes a patch to test:
Index: src/sdk/compilercommandgenerator.cpp
===================================================================
--- src/sdk/compilercommandgenerator.cpp	(Revision 6328)
+++ src/sdk/compilercommandgenerator.cpp	(Arbeitskopie)
@@ -948,15 +948,35 @@
             #else
             Manager::Get()->GetLogManager()->DebugLog(F(_T("Caching result of `%s`"), cmd.c_str()));
             #endif
-            wxArrayString output;
+            wxArrayString output, error;
             if (platform::WindowsVersion() >= platform::winver_WindowsNT2000)
-                wxExecute(_T("cmd /c ") + cmd, output, wxEXEC_NODISABLE);
+                wxExecute(_T("cmd /c ") + cmd, output, error, wxEXEC_NODISABLE);
             else
-                wxExecute(cmd, output, wxEXEC_NODISABLE);
-            bt = GetStringFromArray(output, _T(" "));
-            // add it in the cache
-            m_Backticks[cmd] = bt;
-            Manager::Get()->GetLogManager()->DebugLog(_T("Cached"));
+                wxExecute(cmd, output, error, wxEXEC_NODISABLE);
+            if(error.GetCount() > 0)
+            {
+                #if wxCHECK_VERSION(2, 9, 0)
+                Manager::Get()->GetLogManager()->DebugLogError(F(_T("Error running: %s"), cmd.wx_str()));
+                #else
+                Manager::Get()->GetLogManager()->DebugLogError(F(_T("Error running: %s"), cmd.c_str()));
+                #endif
+                Manager::Get()->GetLogManager()->DebugLogError(_T("Output is:"));
+                for(size_t i = 0; i < error.GetCount(); ++i)
+                {
+                    #if wxCHECK_VERSION(2, 9, 0)
+                    Manager::Get()->GetLogManager()->DebugLogError(F(_T("%s"), error[i].wx_str()));
+                    #else
+                    Manager::Get()->GetLogManager()->DebugLogError(F(_T("%s"), error[i].c_str()));
+                    #endif
+                }
+            }
+            else
+            {
+                bt = GetStringFromArray(output, _T(" "));
+                // add it in the cache
+                m_Backticks[cmd] = bt;
+                Manager::Get()->GetLogManager()->DebugLog(_T("Cached"));
+            }
         }
         ret << bt << _T(' ');
         str = str.substr(0, start) + bt + str.substr(end + 1, wxString::npos);
I also add it as attachement, otherwise, there might be errors with line-endings.
[attachment deleted by admin]