2016-07-21 4 views
-1

Я хочу открыть дополнительную программу с помощью C++ на XCode. Это Firefox. Но если яОткрыть дополнительную программу с помощью C++ на Mac [XCode]

Shell Execute("file://localhost/Applications/Firefox.app"); 

Существует ошибка 'ShellExecute' was not declared in this scope В другом форуме был ключ, чтобы включить windows.h и shellapi.h

#include <shellapi.h> 
#include <windows.h> 

но что делает другие ошибки

shellapi.h: No such file or directory 
windows.h: No such file or directory 

Что мне делать? Я хочу открыть frefox с C++ в XCode на Mac?

ответ

0

ShellExecute() доступен только через API Windows. У вас нет системы Windows.

Вы можете просто использовать (более портативную) функцию system() или одну из функций exec(), доступных в системах, совместимых с POSIX.

+0

Если я 'система() 'только приходит' sh: файл: //localhost/Applications/Firefox.app: Нет такого файла или каталога 'Но Firefox не открывается! – Korne127

+0

Для этого вам обязательно понадобится этот файл. Если вы хотите запустить локальное приложение, запустите firefox, параметризованный этим путем. –

+0

Я дал ложную ссылку на файл, это было '/Applications/Firefox.app:', но тогда приходит только 'sh: /Applications/Firefox.app: это каталог', а firefox не открывается – Korne127

0

Попробуйте запустить в терминале, чтобы открыть Firefox:

open -a Firefox http://www.ibm.com 

Если это делает то, что вы хотите, вы должны обернуть его в system() так:

#include <cstdlib> 
#include <fstream> 
#include <iostream> 

int main() 
{ 
    std::system("open -a Firefox"); 
} 
Смежные вопросы