У меня есть двоичный файл C ++, скомпилированный с использованием VC ++ 2008, этот код использует мой графический процессор (NVIDIA GT 8600) для некоторых вычислений. Программа сначала проверяет производителя видеокарты с помощью функции glGetString (GPU_VENDOR) в openGL.
Когда я запускаю эту программу из командной строки, она работает без проблем. Но если я выполняю ту же команду через PHP, используя WAMP, он не определяет моего поставщика как NVIDIA, а вместо этого возвращает «Microsoft Corporation» и выходит, говоря, что мое оборудование не поддерживает функции, связанные с GPU, которые я использую. Я не могу понять разницу в выполнении команды через WAMP, а не непосредственно из командной строки. Почему только первое должно терпеть неудачу?
Он работает, даже если я выполняю php-код прямо из командной строки. Это говорит о том, что в WAMP что-то не так. Если у кого-то есть какие-либо идеи, было бы очень полезно, если бы вы могли опубликовать их здесь.
Он запускает его в фоновом режиме (не интерактивном), и в этом случае произойдет нечто подобное. Когда вы запускаете его вручную, вы запускаете его в интерактивном режиме в текущем сеансе, который имеет графические возможности, а сеанс в фоновом режиме - нет.