Как скомпилировать платформу с открытым исходным кодом в Visual Studio C++, который имеет “make-файл” только и никакой файл решения?

Динамично создайте <input> с в форме и отправьте его

/**
 * sends a request to the specified url from a form. this will change the window location.
 * @param {string} path the path to send the post request to
 * @param {object} params the paramiters to add to the url
 * @param {string} [method=post] the method to use on the form
 */

function post(path, params, method='post') {

  // The rest of this code assumes you are not using a library.
  // It can be made less wordy if you use one.
  const form = document.createElement('form');
  form.method = method;
  form.action = path;

  for (const key in params) {
    if (params.hasOwnProperty(key)) {
      const hiddenField = document.createElement('input');
      hiddenField.type = 'hidden';
      hiddenField.name = key;
      hiddenField.value = params[key];

      form.appendChild(hiddenField);
    }
  }

  document.body.appendChild(form);
  form.submit();
}

Пример:

post('/contact/', {name: 'Johnny Bravo'});

РЕДАКТИРОВАНИЕ : Так как это получило upvoted так, я предполагаю, что люди будут вставкой копии это много. Таким образом, я добавил эти hasOwnProperty проверка для исправления любых непреднамеренных ошибок.

6
задан Roman Kagan 24 July 2009 в 18:28
поделиться

5 ответов

К сожалению, для такого рода изменений нет серебряной пули. Make и сборка в стиле Visual Studio C ++ - очень разные звери. Хотя они могут выполнять очень похожие операции, они также могут иметь совершенно разные структуры, что затрудняет создание простого руководства.

ИМХО, лучший способ добиться этого - начать новый проект на C ++. Добавьте все существующие файлы и шаг за шагом просматривайте файл make, пытаясь преобразовать каждое действие в эквивалентное действие C ++.

ИМХО, лучший способ добиться этого - начать новый проект на C ++. Добавьте все существующие файлы и шаг за шагом просматривайте файл make, пытаясь преобразовать каждое действие в эквивалентное действие C ++.

ИМХО, лучший способ добиться этого - начать новый проект на C ++. Добавьте все существующие файлы и шаг за шагом просматривайте файл make, пытаясь преобразовать каждое действие в эквивалентное действие C ++.

7
ответ дан 8 December 2019 в 18:39
поделиться

Если все, что вам нужно, это самостоятельно созданный двоичный файл, который можно связать с VC (то есть без интеграции в существующее решение VS), посмотрите MSys . Это позволяет вам использовать GNU make вместе с VC. Таким образом, вы можете использовать систему сборки GNU, поставляемую с проектом ОС, при компиляции с помощью VC.

2
ответ дан 8 December 2019 в 18:39
поделиться

Сначала убедитесь, что код может работать в Windows. Код C ++ с открытым исходным кодом часто зависит от POSIX. В этом случае вам необходимо установить MinGW или Cygwin.

Если вы не знакомы с кросс-платформенным программированием, этот проект может оказаться болезненной задачей. (РЕДАКТИРОВАТЬ: это из моего личного опыта. Я не собираюсь вас отговаривать. Кстати, это болезненные проекты, из которых вы больше всего учитесь!)

тогда этот проект может оказаться болезненной задачей. (РЕДАКТИРОВАТЬ: это из моего личного опыта. Я не собираюсь вас обескураживать. Кстати, это болезненные проекты, на которых вы больше всего учитесь!)

тогда этот проект может оказаться болезненной задачей. (РЕДАКТИРОВАТЬ: это из моего личного опыта. Я не собираюсь вас отговаривать. Кстати, это болезненные проекты, из которых вы больше всего учитесь!)

2
ответ дан 8 December 2019 в 18:39
поделиться

Почему бы не рассматривать это как шанс чтобы изучить некоторые новые технологии, такие как MinGW , у которых должно быть несколько проблем при компиляции кода.

1
ответ дан 8 December 2019 в 18:39
поделиться

Если вы намереваетесь продолжать поддерживать несколько платформ, вы можете подумать о переходе на кроссплатформенную систему сборки, например cmake или waf .

1
ответ дан 8 December 2019 в 18:39
поделиться
Другие вопросы по тегам:

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