正如标题所示,我需要用一些库编译我的Qt代码,并需要定义一些变量。更具体地说,我正致力于支持ldap身份验证。
在普通的C ++中,我通过编译命令
实现了它g++ -I/home/user/development/openldap/include -L/home/user/development/openldap/lib/ -DLDAP_DEPRECATED main.cpp -o ldap -lldap
不幸的是,当我尝试在.pro文件中定义此变量时,如DEFINES + = LDAP_DEPRECATED,那么它找不到对ldap库的任何引用。
有谁知道,应该在哪里定义?
答案 0 :(得分:2)
您在更改后运行了qmake吗?我相信DEFINES += LDAP_DEPRECATED
会在您将更改保存到.pro文件并单击"运行qmake"之后重建时导致编译器被-DLDAP_DEPRECATED
调用。从构建菜单。您正在使用正确的方法在QMake项目文件中定义预处理程序变量。
但是,对于其他命令行选项,您似乎也需要这些:
# LDAP Support
DEFINES += LDAP_DEPRECATED
INCLUDEPATH += /home/user/development/openldap/include
LIBS += -L/home/user/development/openldap/lib/ -lldap
顺便说一句,LIBS
的语法也可以在Windows上使用,-L
参数将被转换为库目录,-l
转换为库文件名。< / p>