Использование ИЗБЫТКА с Visual C++ Express Edition

Существует еще один пример использования библиотеки URI.js .

Пример отвечает на вопросы точно так, как было задано.

var url = 'http://example.com?sent=yes';
var urlParams = new URI(url).search(true);
// 1. Does sent exist?
var sendExists = urlParams.sent !== undefined;
// 2. Is it equal to "yes"?
var sendIsEqualtToYes = urlParams.sent == 'yes';

// output results in readable form
// not required for production
if (sendExists) {
  console.log('Url has "sent" param, its value is "' + urlParams.sent + '"');
  if (urlParams.sent == 'yes') {
    console.log('"Sent" param is equal to "yes"');
  } else {
    console.log('"Sent" param is not equal to "yes"');
  }
} else {
  console.log('Url hasn\'t "sent" param');
}

10
задан DShook 14 December 2008 в 03:14
поделиться

2 ответа

  1. Если у Вас нет Visual C++ Express Edition (VCEE), загрузите и установите VCEE.
  2. Установка по умолчанию Visual C++ Express Edition создает для платформы .NET. Мы должны будем создать для платформы Windows, так как OpenGL и ИЗБЫТОК полностью еще не поддерживаются под .NET. Для этого нам нужна Microsoft Platform SDK. (При использовании более старой версии VCEE загрузите и установите Microsoft Platform SDK. Visual C++ Express Edition должен будет быть настроен для создания для платформы Windows. Все эти инструкции доступны здесь.)
  3. Если у Вас нет ИЗБЫТКА, загрузите и разархивируйте порт Windows Nate Robin ИЗБЫТКА.
  4. Добавьте glut.h к своему каталогу Platform SDK/include/GL/
  5. Свяжите проект с glut.lib. (Перейдите к Свойствам проекта VCEE-> Дополнительные Каталоги Компоновщика и добавьте каталог, который имеет glut.lib.
  6. Добавьте glut.dll к каталогу Windows/System32, так, чтобы все программы с помощью ИЗБЫТКА могли найти его во времени выполнения.

Ваша программа, которая использует ИЗБЫТОК или OpenGL, должна скомпилировать под Visual C++ Express Edition теперь.

9
ответ дан 3 December 2019 в 22:40
поделиться

Порт GLUT на сайте Nate Robin с 2001 и имеет некоторые несовместимости с версиями Visual Studio, более свежей, чем это (.NET 2003 и). Несовместимость проявляется как ошибки о переопределении exit(). Если Вы видите эту ошибку, существует два возможных решения:

  1. Замените exit() прототип в glut.h с тем в Вашем stdlib.h так, чтобы они соответствовали. Это - вероятно, лучшее решение.
  2. Более легкое решение к #define GLUT_DISABLE_ATEXIT_HACK перед Вами #include <gl/glut.h> в Вашей программе.

(Подлежащий выплате кредит: Я первоначально видел этот совет относительно веб-сайта справочной службы TAMU.)

Я использовал подход № 1 сам начиная с.NET, 2003 вышел и использовал измененное то же glut.h с VC ++ 2003, VC ++ 2005 и VC ++ 2008.

Вот разность для glut.h, который я использую, который делает № 1 (но в соответствующем #ifdef blocks так, чтобы это все еще работало с более старыми версиями Visual Studio):

--- c:\naterobbins\glut.h       2000-12-13 00:22:52.000000000 +0900
+++ c:\updated\glut.h    2006-05-23 11:06:10.000000000 +0900
@@ -143,7 +143,12 @@

 #if defined(_WIN32)
 # ifndef GLUT_BUILDING_LIB
-extern _CRTIMP void __cdecl exit(int);
+/* extern _CRTIMP void __cdecl exit(int);  /* Changed for .NET */
+#  if _MSC_VER >= 1200
+extern _CRTIMP __declspec(noreturn) void __cdecl exit(int);
+#  else
+extern _CRTIMP void __cdecl exit(int);
+#  endif
 # endif
 #else
 /* non-Win32 case. */
6
ответ дан 3 December 2019 в 22:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: