vim компиляция программы на С++ (настроить горячие клавиши)

и другие vi-подобные редакторы

Модератор: /dev/random

Ответить
exvion
Сообщения: 3

vim компиляция программы на С++

Сообщение exvion »

Для написания программы на C++ использую vim. Для компиляции выхожу из vim и запускаю следующий скрипт

hello.sh
#!/bin/sh
export LD_LIBRARY_PATH=/usr/local/lib
echo `pkg-config --cflags opencv`
echo `pkg-config --libs opencv`
g++ `pkg-config --cflags opencv` -g -o hello hello.cpp `pkg-config --libs opencv`

Выполнение программы.
./hello

Зная о возможностях Vim, хотелось бы вызывать компиляцию и выполнение по нажатию на горячую клавишу.

Также буду благодарен, если подскажете как данный скрипт переделать в makefile.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: vim компиляция программы на С++

Сообщение /dev/random »

См. разделы справки
:help :!
и
:help :map

См. также в качестве образца это сообщение: Тонкая настройка vim
Спасибо сказали:
exvion
Сообщения: 3

Re: vim компиляция программы на С++

Сообщение exvion »

Попробовал в vim набрать

:! hello.sh

/bin/bash: hello.sh: command not found
shell returned 127
Press ENTER or type command to continue

Что я делаю не так?

Пробую сделать makefile

LIBPATH=-L/usr/local/lib
hello: hello.cpp
g++ `pkg-config --cflags opencv` $(LIBPATH) `pkg-config --libs opencv` o hello hello.cpp

Выполняю make

Получаю
g++ `pkg-config --cflags opencv` -L/usr/local/lib `pkg-config --libs opencv` o hello hello.cpp
g++: o: No such file or directory
g++: hello: No such file or directory
make: *** [hello] Error 1
Спасибо сказали:
exvion
Сообщения: 3

Re: vim компиляция программы на С++

Сообщение exvion »

C makefile разобрался.

hello: hello.cpp
$(CXX) $^ -o $@ `pkg-config --cflags --libs opencv`
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian
Контактная информация:

Re: vim компиляция программы на С++

Сообщение diesel »

exvion писал(а):
04.09.2009 09:48
Попробовал в vim набрать

:! hello.sh

/bin/bash: hello.sh: command not found
shell returned 127
Press ENTER or type command to continue

Что я делаю не так?

если что.. правила который действуют для запуска команд в шелле продолжают действовать и здесь, то есть или /path/to/hello.sh или ./hello.sh или текущую директорию в PATH
Спасибо сказали:
Ответить