小编Ale*_*sas的帖子

使用CMake创建Qt翻译文件

当我试图在CMake过程中添加生成翻译的过程时,我遇到了问题.

现在我有以下CMakeLists.txt:

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/defines.h.cmake
               ${CMAKE_CURRENT_BINARY_DIR}/defines.h)

file(GLOB_RECURSE UI_FILES *.ui)
file(GLOB_RECURSE CODE_FILES *.cpp)

qt5_wrap_ui(UI_HEADERS ${UI_FILES})

# Qt5LinguistTools
find_package(Qt5LinguistTools)
FILE(GLOB TS_FILES "${CMAKE_CURRENT_SOURCE_DIR}/../resources/langs/*.ts")
QT5_create_translation(QM_FILES ${CODE_FILES} ${TS_FILES})

# Resources
qt5_add_resources(RESOURCE_FILES ../resources/resources.qrc)

# Windows application icon
if (WIN32)
  set(WINDOWS_RES_FILE ${CMAKE_CURRENT_BINARY_DIR}/resources.obj)
  if (MSVC)
    add_custom_command(OUTPUT ${WINDOWS_RES_FILE}
      COMMAND rc.exe /fo ${WINDOWS_RES_FILE} resources.rc
      WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/cmake/win
    )
  else()
    add_custom_command(OUTPUT ${WINDOWS_RES_FILE}
      COMMAND windres.exe resources.rc ${WINDOWS_RES_FILE}
      WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/cmake/win
    )
  endif()
endif()

#Move Qm files to resources langs folder
install(FILES ${QM_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/../resources/langs)

add_executable(${CMAKE_PROJECT_NAME} WIN32
  ${QM_FILES}
  ${UI_HEADERS}
  ${CODE_FILES}
  ${RESOURCE_FILES}
  ${WINDOWS_RES_FILE}
)
target_link_libraries(${CMAKE_PROJECT_NAME}
  Qt5::Widgets
  QtAwesome
) …
Run Code Online (Sandbox Code Playgroud)

c++ qt cmake qt5

7
推荐指数
2
解决办法
3632
查看次数

意外的重定位类型 0x03

我正在尝试执行用我自己的库编译的程序,但是当我执行该程序时,出现以下错误:

./a.out 
./a.out: error while loading shared libraries: ../../lib-arm/libCustomLibrary.so: unexpected reloc type 0x03
Run Code Online (Sandbox Code Playgroud)

这只是在发布执行时发生,调试执行一切正常。

你认为这可能是哪里的问题?

CustomLibrary 库与以下参数链接:

-lSubLibrary -fPIC -Wl,-Bstatic -lboost_system -lboost_filesystem -lboost_thread -lpthread -Wl,-Bdynamic -lrt
Run Code Online (Sandbox Code Playgroud)

我为我的库附加了 lld unix 库命令输出。

ldd ../../lib-arm/libCustomLibrary.so 
/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0x76e5d000)
libSubLibrary.so => ../../lib-arm/libSubLibrary.so (0x76e2d000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x76e10000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x76d3e000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76ccd000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76ca5000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76b75000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x76b6a000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76b4b000)
/lib/ld-linux-armhf.so.3 (0x76f05000)
Run Code Online (Sandbox Code Playgroud)

c++ g++ shared-libraries raspberry-pi

5
推荐指数
1
解决办法
5604
查看次数

WPF TextBox在Tab焦点上全选

使用Tab键完成焦点时,我正在尝试选择所有文本。但是我找不到正确的解决方案。现在,我正在使用GotFocusEvent,但是现在当我用鼠标单击时,它将引发该事件。

我现在使用的代码是:

EventManager.RegisterClassHandler(typeof(System.Windows.Controls.TextBox), System.Windows.Controls.TextBox.GotKeyboardFocusEvent, new RoutedEventHandler(SelectAllText));


void SelectAllText(object sender, RoutedEventArgs e)
{
    var textBox = sender as System.Windows.Controls.TextBox;
    if (textBox != null)
        if (!textBox.IsReadOnly)
            textBox.SelectAll();
}
Run Code Online (Sandbox Code Playgroud)

.net c# wpf keyboard-events wpf-textbox

4
推荐指数
1
解决办法
4341
查看次数

标签 统计

c++ ×2

.net ×1

c# ×1

cmake ×1

g++ ×1

keyboard-events ×1

qt ×1

qt5 ×1

raspberry-pi ×1

shared-libraries ×1

wpf ×1

wpf-textbox ×1