Компиляция модулей Python с ОТЛАДКОЙ, определенной на MSVC

Вплоть до jQuery 1.11.1 , Вы могли использовать следующие URL для получения последней версии jQuery:

, Например:


Однако начиная с jQuery 1.11.1, и jQuery и Google прекратили обновлять их URL; они будут навсегда быть зафиксированными в 1.11.1. Нет никакого поддерживаемого альтернативного URL для использования. Для объяснения почему дело обстоит так, посмотрите это сообщение в блоге; не используют jquery-latest.js .

Обе поддержки хостов https, а также http, так измените протокол, поскольку Вы считаете целесообразным (или используйте URI родственника протокола)

См. также: https://developers.google.com/speed/libraries/devguide

22
задан DaedalusFall 5 August 2009 в 22:16
поделиться

4 ответа

Из списка Python

В качестве обходного пути попробуйте скопировать файл python26.dll в python26_d.dll. (Я не уверен в этом будет работать; вы говорите, что строите Библиотека SWIG в режиме отладки, и это возможно, что SWIG попытается использовать особенности отладки Python версия. Если это так, вы нет другого выбора, кроме как использовать отладочная версия Python.)

Изменить: Из комментариев:

Вам также следует отредактировать pyconfig.h и закомментируйте строку "#define Py_DEBUG "(строка 374)

21
ответ дан 29 November 2019 в 04:54
поделиться

Я бы рекомендовал не использовать глобальные переменные, если это возможно. Используйте пространство имен и OOP для передачи аргументов объекту.

Этот код принадлежит файлу .js:

var MYLIBRARY = MYLIBRARY || (function(){
    var _args = {}; // private

    return {
        init : function(Args) {
            _args = Args;
            // some other initialising
        },
        helloWorld : function() {
            alert('Hello World! -' + _args[0]);
        }
    };
}());

И в вашем html-файле:

<script type="text/javascript" src="file.js"></script>
<script type="text/javascript">
   MYLIBRARY.init(["somevalue", 1, "controlId"]);
   MYLIBRARY.helloWorld();
</script>
-121--1831941-

Да, вы можете использовать их вместе.

Если вы объявляете «extern const int i», то i является const по всей его области. Переопределить его как неконст невозможно. Конечно, можно обойти флаг const, отбросив его (с помощью const_cast).

-121--1054916-

Это также работает при связывании со статическими библиотеками. Я сделал копию файла python26.lib и переименовал его в python26_d.lib. Я прокомментировал строку # define PY_DEBUG в pyconfig.h. Также изменил прагматику на «pragma comment (lib,» python26.lib «)» на строке 332. Вуаля! Это сработало.

2
ответ дан 29 November 2019 в 04:54
поделиться

Также можно пойти другим путем: переключиться на «Release» и отладить его. вам необходимо включить генерацию информации об отладочных символах в свойствах проекта в настройках компилятора и компоновщика; MSDN здесь точно скажет вам, какие параметры вам нужно установить для отладки сборки выпуска.

4
ответ дан 29 November 2019 в 04:54
поделиться

После того, как вы закомментируете "#define Py_DEBUG" в строке 332 и измените

#   ifdef _DEBUG
#    pragma comment(lib,"python26_d.lib")
#   else

на

#   ifdef _DEBUG
#    pragma comment(lib,"python26.lib")
#   else

, вам больше не понадобится python26_d.lib.

7
ответ дан 29 November 2019 в 04:54
поделиться
Другие вопросы по тегам:

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