libname += pkgname;
#if defined(MACOSX)
libname += ".dylib";
-#else
- libname += ".so";
+#elif defined(WIN32) // mingw
+ libname += ".dll";
+#else // Linux
+ libname += ".so";
#endif
#elif defined(_WIN32)
//2018-07-06 mingw64
wchar_t pname2[512];
long result = GetModuleFileName(NULL, pname2, pathsize);
-// int ret = wcstombs ( pname, pname2, sizeof(pname) );
+ int ret = wcstombs ( pname, pname2, sizeof(pname) );
// long result = GetModuleFileName(NULL, pname, pathsize);
if (result > 0)
{
return status;
#endif /* MACOSX */
-printf("EED Utilities get_app_path END\n");
return -1; /* Path Lookup Failed */
}
//=========================================================================
std::string Utilities::GetExecutablePath()
{
-printf("EED Utilities::GetExecutablePath Start\n");
char name[PATH_MAX];
-printf("EED Utilities::GetExecutablePath 1 \n");
int err = get_app_path(name, PATH_MAX);
-printf("EED Utilities::GetExecutablePath 2 \n");
if (err)
- {
-printf("EED Utilities::GetExecutablePath 2.1 \n");
-// bbtkGlobalError("Could not determine current executable path ?");
-
-/*
-
-printf("EED Utilities bbtkGlobalError XX Start\n");
- do
- {
-printf("EED Utilities bbtkGlobalError XX A.1\n");
- std::ostringstream s;
-printf("EED Utilities bbtkGlobalError XX A.2\n");
- s << "Could not determine current executable path ?";
-printf("EED Utilities bbtkGlobalError XX A.3\n");
- std::ostringstream f;
-printf("EED Utilities bbtkGlobalError XX A.4\n");
- f << __FILE__ << " (l."<<__LINE__<<")";
-printf("EED Utilities bbtkGlobalError XX A.5\n");
-std::string aa=f.str();
-printf("EED Utilities bbtkGlobalError XX A.6\n");
-std::string bb=f.str();
-printf("EED Utilities bbtkGlobalError XX A.7\n");
- bbtk::Exception e( "global scope",
- f.str(),
- s.str());
- throw e;
-printf("EED Utilities bbtkGlobalError XX B\n");
- }
- while (0);
-printf("EED Utilities bbtkGlobalError XX End\n");
-
-*/
-
-
-printf("EED Utilities::GetExecutablePath 2.2 \n");
- }
-
+ {
+ try
+ {
+ bbtkGlobalError("Could not determine current executable path ?");
+ }
+ catch (bbtk::Exception e)
+ {
+ std::cerr << e.GetErrorMessage() << std::endl;
+ }
+ }
+
// remove the exe name
char *slash;
-printf("EED Utilities::GetExecutablePath 3 >%s<\n",name);
slash = strrchr(name, VALID_FILE_SEPARATOR_CHAR);
-printf("EED Utilities::GetExecutablePath 4 \n");
if (slash)
- {
- *slash = 0;
- }
-printf("EED Utilities::GetExecutablePath END \n");
+ {
+ *slash = 0;
+ }
return name;
}
//=========================================================================