我非常简单的package com.lms.service;
import lotus.domino.NotesException;
import lotus.domino.Session;
import lotus.domino.NotesFactory;
public class StarService
{
public static Session notesSession = null;
public static Session getNotesSession()
{
if( notesSession == null )
try
{
notesSession = NotesFactory.createSession( "testHostServer", "testUser", "testPassword" );
} catch ( NotesException e )
{
e.printStackTrace();
}
return notesSession;
}
public StarService() throws NotesException
{
System.out.println( "Begin StarService Constructor" );
// Setup the notes connectivity
getNotesSession();
System.out.print( getNotesSession().getUserName() );
System.out.println( "End STARService Constructor" );
}
}
文件如下所示:
X.pro
标题文件TEMPLATE = lib
CONFIG += c++14 warn_on
HEADERS += x.hpp
target_headers.path = $$[QT_SYSROOT]/usr/include/
target_headers.files = x.hpp
INSTALLS += target_headers
target_libs.path = $$[QT_SYSROOT]/usr/lib/
target_libs.files = libX.so \
libX.so.1 \
libX.so.1.0 \
libX.so.1.0.0
target_libs.CONFIG += no_check_exist
INSTALLS += target_libs
可以留空。
所以,当我做的时候
x.hpp
标头安装在qmake
make
make install
中的/usr/include/
库中。
当我使用32位编译器时这很好用,因为这些库应该安装在/usr/lib/
中,但是当我使用64位编译器时它不行,因为库应该转到{ {1}}。
那么,如何更改专业文件,配置我的库所在的位置?有没有办法检测构建是使用32位还是64位编译器?
此外,这将创建4个库副本,而不是复制链接。如何解决?
答案 0 :(得分:1)
检测架构:https://stackoverflow.com/a/30723860/1179842
contains(QT_ARCH, i386) {
message("32-bit")
} else {
message("64-bit")
}
创建链接:让qmake为您生成命令:http://doc.qt.io/qt-5/qmake-advanced-usage.html#installing-files
target.path = $$[QT_SYSROOT]/usr/lib/
INSTALLS += target